- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
研磨设计模式-的-摘录笔记1.1
研磨设计模式--摘录笔记
第一章:
设计模式:是指在软件开发中,经过验证的,用于解决在特定环境下,重复出现的、特定问题的解决方案。
结构型模式:描述如何组合类和对象以获得更大的结构。
第2 章 简单工厂(GoF的著作中没有)
定义:类本质:选择实现
优点:帮助封装;解耦
缺点:可能增加客户端的复杂度;不方便扩张子工厂。
易混模式:
抽象工厂模式:如果抽象工厂退化成只有一个实现,不分层次,那么就相当于简单工厂了。
工厂方法模式:如果把工厂方法中选择的实现放到父类中直接实现,那就等同于简单工厂。
何时选用:
? 如果想要完全封装隔离具体实现,让外部只能通过接口来操作封装体,那么可以选用简单工厂,让客户端通过工厂来获取相应的接口,而无须关心具体的实现。
? 如果想要把对外创建对象的职责集中管理和控制,可以选用简单工厂,一个简单工厂可以创建很多的、不相关的对象,可以把对外创建对象的职责集中到一个简单工厂来,从而实现集中管理和控制。
章(GoF的著作中划分为结构型)
定义:本质:封装交互,简化调用
优点:松散耦合;简单易用;更好地划分访问层次。
缺点:过多或不太合理的Facade也容易让人迷惑,到底是调用Facade好呢,还是直接调用模块好。
易混模式:中介者模式
外观模式是封装内部,方便外部使用;中介者模式是都是同事之间的关系,不分内外------自己总结的何时选用:
1.如果你希望为一个复杂的子系统提供一个单接口的时候,可以考虑使用外观模式。
2.如果想要让客户程序,和抽象类的实现部分松散耦合,可以考虑使用外观模式,
3.如果构建多层结构的系统,可以考虑、使用外观棋式,使用外观对象作为每层的入口, 这样可以简化层问调用,也可以松散层次之间的依赖关系。
章(GoF的著作中划分为结构型)
定义:本质:转换匹配,复用功能。
优点:更好的复用性;更好的可扩展性。
缺点:过多地使用适配器,会让系统非常凌乱,不容易整体进行把握。
易混模式:
何时选用:
章(GoF的著作中划分为创建型)
定义:本质:控制实例数目。
章(GoF的著作中划分为创建型)
定义:其本质:延迟到子类来选择实现。
(GoF的著作中划分为创建型)
定义:一本质:选择产品簇的实现。
章(GoF的著作中划型)定义:本质:分离整体构建算法和部件构造。
(GoF的著作中划分为创建型)
定义:本质:克隆生成对象。
(GoF的著作中划分为行为型)
定义:各耦合本质:封装交互。
2.如果一个对象引用很多的对象,并直接跟这些对象交互,导致难以复用该对象,可以采用中介者模式,把这个对象跟其他对象的交互封装到中介者对象里面, 这个对象只需要和中介者对象交互就可以了。
第11章 代理(GoF的著作中划分为结构型)
定义:本质:控制(对)对象访问
章(GoF的著作中划分为行为型)
定义:对本质:触发联动。
update 方法,如果观察者不需要执行相应处理,那么这次操作就浪费了。其实浪费了还好,最怕引起误更新,那就麻烦了...
何时选用:
? 当一个抽象模型有两个方面, 其中一个方面的操作依赖于另一个方面的状态变化,那么就可以选用观察者模式, 将这两者封装成观察者和目标对象, 当目标对象变化的时候, 依赖于它的观察者对象也会发生相应的变化。这样就把抽象模型的这两个方面分离开了, 使得它们可以独立地改变和复用。
? 如果在更改一个对象的时候, 需要同时连带改变其他的对象, 而且不知道究竟应该有多少对象需要被连带改变, 这种情况可以选用观察者模式, 被更改的那一个对象很明显就相当于是目标对象, 而需要连带修改的多个其他对象, 就作为多个观察者对象了。
? 当一个对象必须通知其他的对象, 但是你又希望这个对象和其他被它通知的对象是松散耦合的。也就是说这个对象其实不想知道具体被通知的对象。这种情况可以选用观察者模式, 这个对象就相当于是目标对象, 而被它通知的对象就是观察看对象了。
第13章(GoF的著作中划分为行为型)
定义:请本质:封装请求。
迭(GoF的著作中划分为行为型定义:示本质:控制访问聚合对象中的元素。
(GoF的著作中划分为结构型)
定义:本质:统一叶子对象和组合对象。
(GoF的著作中划分为行为型)
定义:本质:固定算法骨架。
章(GoF的著作中划分为行为型)
定义:本质:分离算法,选择实现。
第18 章(GoF的著作中划分为行为型)
定义:
本质:根据状态来分离和选择行为。
第19 章(GoF的著作中划分为行为型)
定义:本质:保存和恢复内部状态。
享(GoF的著作中划分为结构型)
定义:本质:分离与共享。
第21章(GoF的著作中划分为行为型)
定义:本质:分离实现,解释执行。
(GoF的著作中划分为结构型)
定义:本质:动态组合。
(GoF的著作中划分为行为型)
定义:耦合本质:分离
文档评论(0)