下载此文档

03-设计模式教学课件.ppt


文档分类:中学教育 | 页数:约34页 举报非法文档有奖
1/34
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/34 下载此文档
文档列表 文档介绍
常见面对对象设计原则
引言
设计原则是思想上的指导
设计模式是实现上的手段
设计模式是设计原则的具体体现
在实际开发中,很少做到完全遵守,总是在有意无意的违反一些或者部分原则
设计是一种紧急的平衡艺术
单一职责原则(SRP原则(DIP) Dependence Inversion Principle
依靠倒转原则
依靠倒转(置)(Dependence Inversion Principle)原则讲的是:要依靠于抽象,不要依靠于具体。
简洁的说,依靠倒转原则要求客户端依靠于抽象耦合。原则表述:
抽象不应当依靠于具体实现;具体实现应当依靠于抽象;
高层模块不应当依靠于底层模块,二者都应当依靠于抽象
要针对接口编程,不针对实现编程。
修电脑得到的启示
强内聚、松耦合
由于PC易插拨的方式,那么不管哪一个出问题,都可以在不影响别的部件的前题下进行修改或替换。”
依靠倒转原则
要针对接口编程,不要对实现编程,无论主板、CPU、内存、硬盘都是在针对接口编程,假如针对实现编程,那就会出现换内存须要把主板也换了的尴尬
常见错误
层次化调用的时候,应当是高层调用“底层所拥有的接口”,这是一典型的误会。
一般高层包含对业务功能的处理和业务策略选择,应当被重用,是高层模块去影响底层的具体实现。
这个底层的接口应当是由高层提出的,然后由底层实现,即底层的接口的全部权在高层模块,是一种全部权的倒置
反面例子
缺点:
耦合太紧密,Light发生变更将影响ToggleSwitch。
解决方法一:
将Light作成Abstract,然后具体类继承自Light。
优点:
ToggleSwitch依靠于抽象类Light,具有更高的稳定性,而BulbLight与TubeLight继承自Light,可以依据“开放-封闭”原则进行扩展。只要Light不发生变更,BulbLight与TubeLight的变更就不会波及ToggleSwitch。
缺点:
假如用ToggleSwitch限制一台电视就很困难了。总不能让TV继承自Light吧。
解决方法二:
优点:更为通用、更为稳定。
结论:
运用传统过程化程序设计所创建的依靠关系,策略依靠于微小环节,这是糟糕的,因为策略受到微小环节变更的影响。依靠倒置原则使微小环节和策略都依靠于抽象,抽象的稳定性确定了系统的稳定性。
Hollywood Principle:don't call us, we'll call you
合成/聚合复用原则
要尽量运用合成/聚合,而不是继承关系达到复用的目的。      合成/聚合原则就是在一个新的对象里面运用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。
Favor Composition Over Inheritance
接口隔离原则(ISP)
接口隔离原则
接口隔离原则(Interface Segregation Principle)讲的是:运用多个特地的接口比运用单一的总接口要好。换而言之,从一个客户类的角度来讲:一个类对另外一个类的依靠性应当是建立在最小接口上的。
过于臃肿的接口是对接口的污染。不应当强迫客户依靠于它们不用的方法。
实现方法:
运用多重继承分别接口
迪米特法则(LoD)
迪米特法则(Law of Demeter或简写LoD)又叫最少学问原则(Least Knowledge Principle或简写为LKP)
假如两个类不必彼此干脆通信,那么这两个类就不应当发生干脆的相互作用。假如其中一个类须要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
也就是说,一个对象应当对其它对象有尽可能少的了解。
其它表述
只与你干脆的挚友们通信
不要跟“生疏人”说话
每一个软件单位对其它的单位都只有最少的学问,而且局限于那些与本单位亲密相关的软件单位。
迪米特法则其根本思想,是强调了类之间的松耦合。
类之间的耦合越弱,越有利于复用,一个处于弱耦合的类被修改,不会对有关系的类造成波及。
信息的隐藏促进了软件的复用。
以史为鉴
使民无知 《老子》第三章曰:“是以圣人之治,虚其心,实其腹,弱其志,常使民无知无欲。”使被“统治”的对象“愚昧”化,处于“无知”的状态,可以使“统治”的成本降低。
所谓"最少学问"原则,事实上便是老子的"使民无知"的统治之术。
不相往来 《老子》云:“小国寡民……邻国相望,鸡犬之声相闻,民至老死,不相往来。”将被统治的对象隔离开来,使它们没有干脆的通信,可以达到分化瓦解,继而分而治之的效果。
迪米特法则与老子的"不相往来"的统治之术不谋而合。
单一职责原则
就一个类而言,应当仅有一个引起它变更的缘

03-设计模式教学课件 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数34
  • 收藏数0 收藏
  • 顶次数0
  • 上传人baba
  • 文件大小131 KB
  • 时间2022-05-13
最近更新