设计模式-要点(11-12) | 青训营笔记

76 阅读2分钟

前言

这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天

看的书是《Head First 设计模式》,记录一些书中的要点。

第十一章要点(代理模式-Proxy)

  • 代理模式为另一个对象提供代表,以便控制客户对对象的访问,管理访问的方式有许多种。
  • 远程代理管理客户和远程对象之间的交互。
  • 虚拟代理控制访问实例化开销大的对象。
  • 保护代理基于调用者控制对对象方法的访问。
  • 代理模式有许多变体,例如:缓存代理、同步代理、防火墙代理和写入时复制代理。
  • 代理在结构上类似装饰者,但是目的不同。
  • 装饰者模式为对象加上行为,而代理则是控制访问。
  • Java内置的代理支持,可以根据需要建立动态代理,并将所有调用分配到所选的处理器。
  • 就和其他的包装者(wrapp-er)一样,代理会造成你的设计中类的数目增加。

代理模式: 为另一个对象提供一个替身或占位符以访问这个对象。

第十二章要点(复合模式-Compound)

  • MVC是复合模式,结合了观察者模式、策略模式和组合模式。
  • 模型使用观察者模式,以便观察者更新,同时保持两者之间解耦。
  • 控制器是视图的策略,视图可以使用不同的控制器实现,得到不同的行为。
  • 视图使用组合模式实现用户界面,用户界面通常组合了嵌套的组件,像面板、框架和按钮。
  • 这些模式携手合作,把MVC模型的三层解耦,这样可以保持设计干净又有弹性。
  • 适配器模式用来将新的模型适配成已有的视图和控制器。
  • Model2是MVC在Web上的应用。
  • 在Model2中,控制器实现成Servlet,而JSP/HTML实现视图

复合模式: 复合模式结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题、