技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统架构 --> 设计模式原则总结

设计模式原则总结

浏览:4060次  出处信息

名称

解释

0、单一职责原则(SRP)就一个类而言,应该仅有一个引起它变化的原因。
一、”开放-封闭”原则(OCP)在软件设计模式中,这种不能修改,但可以扩展的思想也是最重要的一种设计原则。即软件实体(类、模板、函数等等)应该可以扩展,但是不可修改。


【通俗】:设计的时候,时刻考虑,尽量让这个类是足够好,写好了就不要去修改了,如果新需求来,我们增加一些类就完事了,原来的代码能不动则不动。

二、里氏代换原则(LSP)1.一个软件实体如果使用的是一个父类的话,那么一定适用于该子类,而且他觉察不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。


【一句话】:子类型必须能够替换掉他们的父类型。

三、依赖倒置原则(DIP)1.高层模块不应该依赖于底层模块。两个都应该依赖抽象。2.抽象不应该依赖于细节,细节依赖于抽象(


【白话】:针对接口编程,不要针对实现编程。

四、接口隔离原则(ISP)1.使用多个专门的接口比使用单一的总接口总要好。换而言之,从一个客户类的角度来讲:一个类对另外一个类的依赖性应当是建立在最小接口上的。


2.过于臃肿的接口是对接口的污染。不应该强迫客户依赖于它们不用的方法。

五、合成/聚合复用原则(CARP)尽量使用合成/聚合,尽量不要使用类继承。


【聚合】:表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。

【合成】:一种强的拥有关系,提现了严格的部分和整体的关系,部分和整体的生存周期一致。

六、迪米特法则(LoD)


最少知识原则

强调类之间的松耦合。即:如果两个类不必彼此直接通信,那么着两个类就不应当发送直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。

大部分内容摘自《大话设计模式


建议继续学习:

  1. 自己写的一个轻量级javascript框架的设计模式    (阅读:4026)
  2. Memcache mutex设计模式    (阅读:3748)
  3. 面向对象设计模式的核心法则    (阅读:3151)
  4. 设计模式速查手册-创建型    (阅读:2686)
  5. Java Worker 设计模式    (阅读:2396)
  6. 网站导航设计模式指南    (阅读:2325)
  7. JavaScript与设计模式    (阅读:1982)
  8. “另类” 设计模式    (阅读:1911)
  9. 从面向对象的设计模式看软件设计    (阅读:1913)
  10. 设计模式-自动完成    (阅读:1761)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1