`
wusuoya
  • 浏览: 641500 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

设计模式五大原则

 
阅读更多

还可以参考文章:

http://blog.csdn.net/zhengzhb/article/details/7296944

 

1、单一职责

不论是在设计类,接口还是方法,单一职责都会处处体现,单一职责的定义:我们把职责定义为系统变化的原因。所有在定义类,接口,方法的时候。定义完 以后再去想一想是不能多于一个的动机去改变这个类,接口,方法。如果答案是肯定的,说明定义的类,接口,方法则多于一个职责。故违背单一职责,遇到这种情 况应该重新细分职责,直到不会出现多种职责的类,接口方法为止(发现职责,并把那些职责相互分离)。单一职责的为最简单的五种原则之一。在软件设计的过程 中处处体现。无处不在。

2、开闭原则

开闭原则是指类、模块、方法是可以扩展的,但不可以修改。开即对扩张开放,闭即对修改关闭。开闭原则的应用体现在,开发人员应该仅仅对程序中频繁出 现变化的地方进行抽象(封装变化点)。对变化点的封装即对变化的修改关闭。对于变化的不确定性,可随时扩展。即 继承的使用。抽象类的运用。

3、替换原则(Is-A)

替换原则即是总是保证子类可以替换它的基类。

替换原则的实现。对于一组具有类似属性,方法,变量的类。我们可以提取公共属性,方法,变量做为一个基类(抽象类或者类),使这一组类继承基类,重 写虚方法。现在这些继承的类和基类的关系符合Is-A。如基类为鸟,则继承类可以为麻雀,燕子。我们可以说麻雀Is-A鸟,燕子Is-A鸟。

在项目中所有使用子类的地方都可用父类替换,但在调用方法的时候 ,即呈现面向对象编程的多态性。即替换原则,非常重要的原则,也是比较对难的原则。

4、依赖倒置原则

a、高层模块不应该依赖于低层模块。二者都应该依赖于抽象

b、抽象不应该依赖于细节。细节应该依赖于抽象。

在面向过程的开发语言中分析和设计,总是创建一些高层模块去调用低层模块、策略依赖于细节的软件结构。实际上这种方法的目的就是要定义子程序层次结 构,该结构 描述了高层模块怎样调用低层模块。而设计良好的面向对象的程序,正好“倒置”了这种依赖关系。高层模块不再依赖于低层模块,从而低层模块的修改不会影响到 高层模块,并且高层模块也是能非常容易的被重用,高层模块和低层模块都影响都依赖于抽象。这样也非常符合强内聚松耦合的编程思想。故该原则也是框架设计的 核心原则。

使用传统的过程化程序设计所创建出来的依赖关系结构,策略是依赖于细节的,这是糟糕的,因为这样会使策略受到细节改变的影响,面向对象的程序设计倒置了依赖关系结构,全程细节和策略都依赖抽象,并且常常是客户程序拥有服务接口。

事实上,这种依赖关系的倒置正是好的面向对象设计 的标志所在,使用何种语言来编写程序是无关紧要的。如果程序的依赖关系是倒置的,它就是面向对象的设计。如果程序的依赖关系不是倒置的,它就是过程化的设计。

依赖倒置原则是实现许多面向对象技术所宣称的好处的基本低层机制。它的正确应用对于创建可重用的框架来说是必需的。同时它对于构建在变化面前富有弹性的代码也是非常重要的,由于抽象和细节彼此隔离,所以代码也非常容易维护。

5、接口隔离原则

定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

http://blog.csdn.net/zhengzhb/article/details/7296921
分享到:
评论

相关推荐

    java设计模式五大原则.doc

    Java 设计模式五大原则 Java 设计模式五大原则是软件设计中非常重要的原则,它们是:开-闭原则、里氏代换原则、依赖倒转原则、接口隔离原则和迪米特法则。这些原则都是软件设计的基石,它们指导我们如何设计出更加...

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

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

    设计模式大作业.zip

    在“设计模式大作业.zip”这个压缩包中,我们看到了一系列使用了多种设计模式实现的代码示例,这包括简单工厂模式、工厂方法模式、单例模式、门面模式以及策略模式。接下来,我们将深入探讨这些设计模式及其在实际...

    设计模式之开放封闭原则

    开放封闭原则(Open-Closed Principle,OCP)由Bertrand Meyer在1988年提出,是面向对象设计的五大原则(SOLID)之一。该原则规定,软件实体(如类、模块或函数)应当对扩展开放,对修改封闭。这意味着当需求变化时...

    JAVA设计模式的六大原则

    ### JAVA设计模式的六大原则 #### 一、开闭原则(Open-Close Principle) **定义:** 开闭原则强调的是软件实体(类、模块、函数等)应该是可扩展的但不可修改的,即软件实体应该对扩展开放,对修改关闭。 **实践...

    韩顺平_Java设计模式笔记.docx

    本资源摘要信息是对《韩顺平_Java设计模式笔记.docx》的总结和分析,该笔记涵盖了 Java 设计模式的基础知识、设计模式的七大原则、原型设计模式、解释器设计模式、单例设计模式等内容,并对每个设计模式的原理、实现...

    java设计模式经典教程

    #### 六、设计模式的六大原则 1. **开闭原则**:软件实体应该对扩展开放,对修改关闭。这意味着在不修改原有代码的情况下,可以扩展功能。 2. **里氏替换原则**:子类必须能够替换它们的基类。这确保了子类可以替代...

    java设计模式pdf

    随后,在“面向对象方法”章节(第14页),作者回顾了面向对象编程的基本原则,并讨论了它们如何支持设计模式的实现。特别是,他提到了Java基础类库(Java Foundation Classes, JFC)的作用,这是一个包含大量标准...

    设计模式demo示例.rar

    首先,让我们谈谈“五大原则”,这是理解设计模式的基础。这五大原则是单一职责原则(SRP)、开放封闭原则(OCP)、里氏替换原则(LSP)、接口隔离原则(ISP)和依赖倒置原则(DIP)。单一职责原则强调一个类或模块...

    设计模式C#版

    在设计模式中,它反映了类与对象的先后关系,也即是对抽象与具体实现的思考,是设计模式中开放-封闭原则的体现,即软件实体应当对扩展开放,对修改封闭。 四、大瓶子套小瓶子还是小瓶子套大瓶子? 这个问题实际上在...

    软件设计模式作业三行为式模式

    在软件开发过程中,设计模式是解决常见问题的模板,它们代表了最佳实践,可以提高代码的可读性、可维护性和可复用性。行为式设计模式主要关注对象之间的责任分配和交互,使得代码能够更好地适应变化。南华大学的这个...

    设计模式 设计模式

    ### 五、设计模式的学习方法 学习设计模式不仅仅是为了掌握具体的模式本身,更重要的是理解每一种模式背后的设计理念和原则。例如: - **单一职责原则**:一个类应该只有一个引起它变化的原因。 - **开放封闭原则*...

    head first 设计模式 PDF电子书下载

    通过学习设计模式,开发者可以更好地理解和应用面向对象编程的原则,提高代码的可维护性、可扩展性和可重用性。 本书涵盖了23种GOF(GoF,即 Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John)经典...

    23种设计模式

    【设计模式的六大原则】 1. 开闭原则(Open-Closed Principle):软件实体(类、模块、函数等)应对于扩展开放,对于修改关闭。这意味着在不修改原有代码的前提下,可以通过增加新功能来扩展软件。 2. 里氏代换...

    设计模式解析(英文版).pdf

    4. **可扩展性**:优秀的设计模式允许系统在未来轻松地添加新功能或进行改进,而不会对现有架构造成太大影响。 #### 三、学习设计模式的重要性 学习设计模式对于软件开发者来说至关重要。它不仅可以帮助开发者更...

Global site tag (gtag.js) - Google Analytics