1.MVC涉及到的设计模式有三个,分别是组合模式、策略模式、观察者模式。
2.View层,单独实现了组合模式,Model层和View层实现了观察者模式,View层和Controller层实现了策略模式。
3.(1)组合模式(composite)将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。
理解:以后一般处理树形结构的时候一般都使用组合模式,像自己电脑文件夹的解析,xml的解析都是树形结构。
组合模式练习与应用
模拟清理文件夹中的视频文件,图像文件。
观察者模式(server):
/**
- 观察者模式
- 广播机制的场景,聊天室,打游戏时小地图的方位
- 把多个订阅者、客户称之为观察者,把变化的内容称之为目标
- 核心:用于1:N的通知
- 通知观察者的模式:
- 推:每次都会把通知以广播方式发送给所有观察者,所有观察者只能被动接收
- 拉:观察者只要知道有情况即可。至于什么时候获取内容,获取什么内容,都可以自助决定
/
改动一个后,观察者可以看到数据的改动
策略模式:
/* - 负责和具体的策略类交互
- 这样的话,具体的算法和直接的客户端调用分离了,独立于客户端的变化
- 如果使用spring的依赖注入功能,还可以通过配置文件,动态的注入不同策略对象,动态的切换不同的算法
- 开发常见的场景:
- JAVASE中GUI编程中,布局管理
- Spring框架中,Resourse接口,资源访问策略
- @author zhengtz
*/
根据不同的情况,分配不同的算法,实现典例CRM中报价策略