1.MVC涉及到的设计模式有三个,分别是组合模式、策略模式、观察者模式。
2.View层,单独实现了组合模式,Model层和View层实现了观察者模式,View层和Controller层实现了策略模式。
3.(1)组合模式(composite)将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。
理解:以后一般处理树形结构的时候一般都使用组合模式,像自己电脑文件夹的解析,xml的解析都是树形结构。

组合模式练习与应用
模拟清理文件夹中的视频文件,图像文件。

观察者模式(server):
/**

  • 观察者模式
  • 广播机制的场景,聊天室,打游戏时小地图的方位
  • 把多个订阅者、客户称之为观察者,把变化的内容称之为目标
  • 核心:用于1:N的通知
  • 通知观察者的模式:
  • 推:每次都会把通知以广播方式发送给所有观察者,所有观察者只能被动接收
  • 拉:观察者只要知道有情况即可。至于什么时候获取内容,获取什么内容,都可以自助决定
    /
    改动一个后,观察者可以看到数据的改动

    策略模式:
    /
    *
  • 负责和具体的策略类交互
  • 这样的话,具体的算法和直接的客户端调用分离了,独立于客户端的变化
  • 如果使用spring的依赖注入功能,还可以通过配置文件,动态的注入不同策略对象,动态的切换不同的算法
  • 开发常见的场景:
  • JAVASE中GUI编程中,布局管理
  • Spring框架中,Resourse接口,资源访问策略
  • @author zhengtz
    */

    根据不同的情况,分配不同的算法,实现典例CRM中报价策略

SpringMVC涉及到的三个设计模式相关推荐

  1. 干掉if else!试试这三种设计模式,优化代码贼顺手!

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...

  2. SpringMVC深度探险(三) —— DispatcherServlet与初始化主线

    本文是专栏文章(SpringMVC深度探险)系列的文章之一,博客地址为:http://downpour.iteye.com/blog/1341459. 在上一篇文章中,我们给出了构成SpringMVC ...

  3. java中控制反转_Java如何利用IOC控制反转的三种设计模式详解

    这篇文章主要为大家详细介绍了Java使用IOC控制反转的三种设计模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 对于许多开发人员来说,控制反演(IoC)都是一个模糊的概念,因为他们在现实世界中 ...

  4. 数据库 -- 由数据库连接池引出的三种设计模式

    笔记摘要: 这里首先对数据库连接池的优化进行了说明,同时自己编写了一个数据库连接池,在实际开发中,为了获取标准的数据源,我们需要去实现javax.sal.DataSource接口, 在实现过程中对于链 ...

  5. JAVA 设计模式(三)—— 设计模式之工厂模式

    文章目录 一.工厂模式概述 1.工厂模式简介 2.工厂模式分类 二.简单工厂模式 1.简单工厂模式示例 2.简单工厂模式分析 三.工厂方法模式 1.工厂方法模式示例 2.工厂方法模式分析 四.抽象工厂 ...

  6. 23三种设计模式详解

    设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. ...

  7. 非注解和注解的处理器映射器和适配器---SpringMVC学习笔记(三)

    非注解的处理器映射器和适配器 非注解的处理器映射器 之前的入门Demo中使用的就是非注解的处理器映射器: org.springframework.web.servlet.handler.BeanNam ...

  8. SpringMVC之数据传递三Ajax与Controller交互

    前面学习了拦截器,通过拦截器我们可以拦截请求,做进一步处理之后再往下进行,这里我们使用Ajax的时候会有一个问题就是会把js.css这些静态资源文件也进行了拦截,这样在jsp中就无法引入的静态资源文件 ...

  9. springMVC数据格式转换的三种实现

    在Java的开发中,经常需要进行数据类型的转换,最常见的就是字符型转成Date类型存入数据库.以下介绍三种数据类型转换的方法. 一,使用ConversionService转换数据 二,使用自定义编辑器 ...

最新文章

  1. The Innovation | 中科院青促会主办精品英文期刊视频简介,定位IF 20+国际顶刊
  2. 电脑键盘上每个键作用
  3. [转载]LEB128格式简介(CN)
  4. 《图解HTTP》核心知识总结
  5. Spring Cache 实战:兼容所有缓存中间件!
  6. 手动制作python安装模块
  7. Linux设备驱动——内核定时器
  8. 记一次抓包和破解App接口
  9. PC微信多开源代码-消息钩子+ZwQuerySystemInformation
  10. 重磅 | 完备的人工智能AI 学习——基础知识学习路线,所有资料免关注免套路直接网盘下载
  11. java调用dll实例_如何用java调用dll,详细图解
  12. 零基础使用vscode实现python爬取高德地铁数据
  13. 神经网络论文Enhancing deep neural networks via multiple kernel learning
  14. 【c++】GUARDED_BY(c) 和 PT_GUARDED_BY(c)
  15. AndroidStudio Launching ‘app‘ Time out 错误
  16. HTML用户名判断,用户名判断(练习)
  17. 新媒体运营:如何策划出一场完整高效的活动方案?(一) | 黎想
  18. 小程序 报错 errcode: 40029, errmsg: invalid code, hints: [ req_id: HQd79a0747th31 ]
  19. 算法与数据结构-分治法
  20. osgEarth示例分析——osgearth_features

热门文章

  1. cocos 链接PHP服务器,Cocos网络篇[3.2](2) ——HTTP连接
  2. 泊松回归与类泊松回归(《R语言实践(第二版)》)
  3. COW(暴力枚举) + 玄神的字符串(思维题) + Duplicate Strings(字符串思维题)
  4. 放松一下——简单的优美动态网页(带背景音乐)
  5. List初始化、集合复制
  6. 科学与艺术的融合:遗传算法绘制蒙娜丽莎
  7. RGB颜色对照表大全
  8. win作业1-信用卡还贷
  9. @JsonFormat 12小时制跟24小时制
  10. 图片服务架构学习之ZIMG