前言
这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天
看的书是《Head First 设计模式》,记录一些书中的要点。
第十一章要点(代理模式-Proxy)
- 代理模式为另一个对象提供代表,以便控制客户对对象的访问,管理访问的方式有许多种。
- 远程代理管理客户和远程对象之间的交互。
- 虚拟代理控制访问实例化开销大的对象。
- 保护代理基于调用者控制对对象方法的访问。
- 代理模式有许多变体,例如:缓存代理、同步代理、防火墙代理和写入时复制代理。
- 代理在结构上类似装饰者,但是目的不同。
- 装饰者模式为对象加上行为,而代理则是控制访问。
- Java内置的代理支持,可以根据需要建立动态代理,并将所有调用分配到所选的处理器。
- 就和其他的包装者(wrapp-er)一样,代理会造成你的设计中类的数目增加。
代理模式: 为另一个对象提供一个替身或占位符以访问这个对象。
第十二章要点(复合模式-Compound)
- MVC是复合模式,结合了观察者模式、策略模式和组合模式。
- 模型使用观察者模式,以便观察者更新,同时保持两者之间解耦。
- 控制器是视图的策略,视图可以使用不同的控制器实现,得到不同的行为。
- 视图使用组合模式实现用户界面,用户界面通常组合了嵌套的组件,像面板、框架和按钮。
- 这些模式携手合作,把MVC模型的三层解耦,这样可以保持设计干净又有弹性。
- 适配器模式用来将新的模型适配成已有的视图和控制器。
- Model2是MVC在Web上的应用。
- 在Model2中,控制器实现成Servlet,而JSP/HTML实现视图
复合模式: 复合模式结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题、