`
miracle9i
  • 浏览: 34635 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

单一职责原则,开-闭原则,依赖倒置原则

阅读更多

《大话设计模式》连续三章讲述了三个原则,把这些重要语录摘抄下来,供我日后好好理解。

 

单一职责原则(Simple Response Principle):就一个类而言,应该仅有一个引起他变化的原因。

当一个类承担了过多的职责,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其它职责的能力。这种耦合会导致脆弱的设计,当设计变化时,设计会遭受到意想不到的破坏。

软件设计真正要做的事,就是发现职责,并把这些职责相互分离。

判断是否职责单一的方法:如果你想到多于一个动机去改变一个类,这个类就具有多于一个的职责,就应该对类进行职责分离。

 

开放-封闭原则:软件实体(类,模块,函数等),应该可以扩展,但不可修改。

即:对于扩展是开放的(Open for extension),对于更改是封闭的(Closed for modification)。

一个较好的实践方式是等到变化发生时立即采取行动。在我们最初编写代码时,假设变化不会发生。当变化发生时,我们就创建抽象来隔离以后发生的同类变化

 

依赖倒转原则:抽象不应依赖于细节,细节应该依赖于抽象。

  • 高层模块不应依赖与低层模块。两个都应该依赖抽象。
  • 抽象不应依赖于细节。细节应该依赖于抽象。

高层模块不应依赖于底层模块==高层不应依赖调用低层模块,我的理解是高层依赖于低层的接口,这样能做到高层类的复用。

 

里氏代换原则:子类别必须能够替换掉他的父类别。

即:把父类都替换为他的子类,程序的行为没有变化。

只有当子类可以替换掉父类,软件单位的功能不受影响时,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为。

程序所有的依赖关系都终止于抽象类或接口,那就是面向对象设计,反之就是过程化设计。

分享到:
评论

相关推荐

    面向对象设计原则(SRP,OCP,LSP,DIP,ISP)

    面向对象 设计原则 单一职责原则--SRP 开放封闭原则--OCP Liskov替换原则--LSP 依赖倒置原则--DIP 接口隔离原则--ISP

    Java_面向对象设计原则总结

    1 依赖倒置原则-Dependency Inversion Principle (DIP) 2 里氏替换原则-Liskov Substitution Principle (LSP) 3 接口分隔原则-Interface Segregation Principle (ISP) 4 单一职责原则-Single ...

    设计原则.ppt

    面向对象的设计原则 单一职责原则 开闭原则 里氏替换原则 依赖倒置原则 接口分离原则 迪米特法则 合成复用原则

    面向对象的11个原则

    单一职责原则(The Single Responsibility Principle) 开放/关闭原则(The Open Closed Principle) 里氏替换原则(The Liskov Substitution Principle) 依赖倒置原则(The Dependency Inversion Principle?) 接口分离...

    php 设计模式六大原则

    php 设计模式六大原则 单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 word版

    JAVA设计模式六大原则详细讲解(面向对象语言通用)

    1.单一职责原则: 不要存在多于一个导致类变更的原因 2.里氏替换法则:子类可以扩展父类的功能,但不能改变父类原有的功能 3.依赖倒置原则:面向接口编程 4.接口隔离原则: 客户端不应该依赖它不需要的接口;一个类对...

    设计模式之六大原则详解,Markdown笔记

    详细介绍了设计模式六大原则,配有示例代码和图片,有开闭原则,单一职责原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特法则等等。

    yoyiyi#SoleilNotes#001.设计模式七大原则1

    2.1 单一职责原则 2.2 接口隔离原则 2.3 依赖倒置原则 2.4 里式替换原则 2.5 开闭原则 2.6 迪米特原则 2.7 合成复用原则

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

    策略模式[STRATEGY PATTERN] 代理模式[PROXY PATTERN] 单例模式[SINGLETON PATTERN] 多例模式[MULTITION PATTERN] ...六大设计原则:单一职责原则,里氏替换原则,依赖倒置原则,接口隔离原则,迪米特法则,开闭原则。

    设计模式6大原则.doc

    设计模式六大原则:单一职责模式、开闭原则、接口隔离原则、里氏替换原则、依赖倒置原则、迪米特法则

    设计模式六大原则

    设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大原则...

    浅谈C#六大设计原则

    这六种原则分别为单一职责原则、接口隔离原则、里氏替换原则、迪米特法则、依赖倒置原则、开闭原则。 单一职责原则 单一职责原则(SRP:Single responsibility principle),规定一个类中应该只有一个原因引起类的...

    面向对象七大设计原则,详细解释版

    详细解释了开闭原则、里氏替换原则、依赖倒置原则、单一职责原则、接口隔离原则、迪米特法则以及合成服用原则,是不可多得的学习资料。

    设计模式六大原则.doc

    设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大原则...

    设计模式总结

    单一职责原则(Single Responsibility Principle,简称SRP) 有且仅有一个原因引起类的变更。 里氏替换原则(Liskov Substitution Principle,LSP) 只要父类出现的地方都可以用子类替换。 依赖倒置原则...

    OOD设计基本原则 面向对象设计必备

    OCP原则 里氏替换原则 依赖倒置原则 接口隔离原则 聚合与继承原则 单一职责原则 Separation of concerns Principle Pareto Principle (帕雷多原则 80/20原则)

    敏捷软件开发:原则、模式与实践(高清有目录)

    敏捷软件开发:原则、模式与实践 单一职责原则 开放封闭原则 Liskov替换原则 依赖倒置原则 接口隔离原则

    设计原则和设计模式.md

    5大设计原则:SOLID S 单一职责原则 O 开放封闭原则 L 李氏置换原则 I 接口独立原则 D 依赖倒置原则

    OO设计根本的指导原则

    单一职责原则——SRP 开放封闭原则——OCP Liskov替换原则 —— LSP 依赖倒置原则—— DIP 接口隔离原则—— ISP

Global site tag (gtag.js) - Google Analytics