`
xiaotao.2010
  • 浏览: 212639 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

设计模式——6大设计原则

 
阅读更多

一、单一职责原则

类被修改的几率很大,因此应该专注于单一的功能。如果你把多个功能放在同一个类中,功能之间就形成了关联,改变其中一个功能,有可能中止另一个功能,这时就需要新一轮的测试来避免可能出现的问题。

在此单一职责原则的定义是:应该有且仅有一个原因引起类的变更。

SRP的原话解释是: There should never be more than one reason for a class to change .

简单的说就是 One Reason One Change . 而SRP也可以理解成 SRCP (Single Responsibility/Change Principle)。

单一职责是一个很好的概念,要是死扣这个概念导致接口和类相当复杂,维护变得反锁。实际上要遵循单一职责还要结合实际项目包括工期、成本、人员水平、硬件情况等等。

这里引用下作者的建议“接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化”

先说下好处:
(1)类的复杂性降低,实现什么职责都有清晰明确的定义;
(2)可读性提高,复杂性降低,可维护性提高;
(3)变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口无影响,这对系统的扩展性、维护性都有非常大的帮助。

 

二、里氏替换原则

 

三、依赖倒置原则

 

四、接口隔离原则

 

五、迪米特法则

 

六、开闭原则

分享到:
评论

相关推荐

    设计模式——GoF的23中设计模式幽默案例解析

    设计模式——GoF的23中设计模式幽默案例解析

    设计模式——6大软件设计原则(demo案例实现,附带解析,快速掌握软件设计原则的精髓)

    该包下的所有demo都是一个个的软件设计原则的案例实现 包含有: 1、开闭原则 2、里氏代换原则 3、依赖倒转原则 4、接口隔离原则 5、迪米特法则 6、合成复用原则 使用了一个个的demo案例,以通俗易懂的生活...

    24种设计模式介绍与6大设计原则

    二、设计模式的六大原则 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序...

    设计模式——JAVA.docx

    JAVA设计模式总结之23种设计模式 一:设计模式之六大原则 总原则:开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。 1.Abstract Factory(抽象工厂模式) 2.Adapter(适配器模式)......

    23种 设计模式---面向对象的基本原则

    NULL 博文链接:https://hudeyong926.iteye.com/blog/779070

    GOF的23种设计模式,及设计模式的六大原则

    GOF是设计模式的经典名著Design Patterns: Elements of Reusable Object-Oriented Software(中译本名为《设计模式——可复用面向对象软件的基础》)的四位作者,他们分为是:Elich Gamma、Richard Helm、Ralph ...

    java设计模式——单例模式

    前天写的第一篇文章设计模式的七大原则,是我第一次写文章,目前看了浏览量,让我信心大增。文章有什么讲述方式不对的欢迎大家随时给我私信。24小时恭候!!(创作不易,还望各位仁兄看完举起小手点个小赞。) 一、...

    设计模式Demo

    二、设计模式的六大原则 1、开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序...

    java设计模式

    目录: 前 言 第一部分 大旗不挥,谁敢冲锋——热身篇 第1章 单一职责原则 1.1 我是“牛”类,我可以担任多职吗 1.2 绝杀技,打破你的传统思维 1.3 我单纯,所以我快乐 1.4 最佳实践 ...附录:23个设计模式

    大话设计模式的源码 pdf文件在我空间免费下载

     本书通篇都是以情景对话的形式,用多个小故事或编程示例来组织讲解GoF(设计模式的经典名著——Design Patterns:Elements of Reusable Object-Oriented Software,中译本名为《设计模式——可复用面向对象软件的...

    Java23种基本的设计模式整料整理学习源码示例zip

    设计模式的六大原则 开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好...

    深入理解JavaScript系列.chm

    6.S.O.L.I.D五大原则之单一职责SRP 7.S.O.L.I.D五大原则之开闭原则OCP 8.S.O.L.I.D五大原则之里氏替换原则LSP 9.根本没有“JSON对象”这回事! 10.JavaScript核心(晋级高手必读篇) 11.执行上下文(Execution ...

    非常好的C++设计模式项目资源,分享出来.zip

    面向对象设计原则 依赖倒置原则(DIP) 高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象(稳定) 。 抽象(稳定)不应该依赖于实现细节(变化) ,实现细节应该依赖于抽象(稳定)。 开放封闭原则(OCP) ...

    设计模式解析

    ——James Noble <br/>本书是最简洁、清晰、实用的设计模式著作,应用最新的Java示例,为程序员和架构师提供了使用模式进行设计、开发和交付软件的方法。 本书以作者多年来为软件开发人员讲授模式的...

    绿色发展视阈下矿山地质修复模式的升级与重塑

    在新时代建设生态文明的规导下,按照"五大发展理念"的要求设计了矿山地质修复3.0模式的目标体系和运行原则,形成生态文明与地质修复的有机聚合。地质修复3.0模式实现了政府、企业、社区的三赢格局,是矿山生态修复的...

    深入理解JavaScript系列

    深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP 深入理解JavaScript系列(7):S.O.L.I.D五大原则之开闭原则OCP 深入理解JavaScript系列(8):S.O.L.I.D五大原则之里氏替换原则LSP 深入理解...

    asp.net知识库

    2分法-通用存储过程分页(top max模式)版本(性能相对之前的not in版本极大提高) 分页存储过程:排序反转分页法 优化后的通用分页存储过程 sql语句 一些Select检索高级用法 SQL server 2005中新增的排序函数及应用 ...

    DesignPattern:java常用的23种设计模式,以及设计原则

    设计模式 一. 基础 1.1 UML类图说明 首先来了解一下uml符号的意思 1.2 六大原则 单一职责:方法、类、接口单一 里氏替换:父类出现的地方都能透明的使用其子类 覆盖或者实现父类的方法数输入参数可以被放大 覆盖或者...

    敏捷软件开发:原则、模式与实践

    软件工程领域的超级经典巨著,与另一巨著《设计模式》并称"软工双雄",全美销量超过100000册,亚马逊书店五星书。 在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。...

Global site tag (gtag.js) - Google Analytics