`

设计模式的原则

 
阅读更多

 

设计模式的设计原则:

1)开闭原则(OCP
    
对扩展开发,对修改关闭

解决问题的关键在于抽象化,对变化的部分进行抽象

 

2)里氏代换原则(LSP

任何基类出现的地方,子类一定可以出现。

它是对开闭原则的有效补充,正如前面所述,实现开闭原则的关键步骤就是在于抽象化,而继承关系则是抽象化的具体实现,所以里氏代换原则则是对实现抽象化的具体步骤的规范。

一般情况下,违背了里氏原则的一定也违背了开闭原则,反之呢,则不一定。

 

3)依赖倒转原则

要依赖于接口,不要依赖于底层的具体实现

       其实这个原则跟第一条的开闭原则有很多的相似性,实际上,他们之间是关系是目标和手段的关系,开闭原则是目前,而依赖倒装则是达成这一目标的手段。

 

4)接口隔离原则

   提供尽可能小的单独接口,而不是提供大的总接口

 

5)组合/聚合复用原则

   要尽量使用组合/聚合,而不是继承关系达到复用。

 

6)迪米特法则

    应尽可能少的与其他实体发生相互作用,

    1. 狭义的迪米特法则=====如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用。如果其中一个类需要调用其中一个类的方法的话,可以通过第三者来转发这个调用。(当然前提是这个第三者跟这两个类必须德直接通信)

   2.广义上的迪米特法则=====在软件系统中,一好模块设计的好不好的最主要,最重要的一个标志就是该模块在多大的程度上将自己的内部数据和其他与实现相关的细节隐藏起来。

     广义上的迪米特法则在类的设计上的体现有:

     1)优先考虑将一个类设置为不变类  

           即使一个类是可变的,也谨慎的设置属性赋值方法(settXXX),除非是必须需要,否则不要为一个属性设置赋值方法

    2)尽量降低一个类的访问权限

    3)谨慎使用serializable

           如果一旦将一个类设置为serializable的,那么就不能在新版本中修改这个类的内部结构,包括private的方法和句段。

    4)尽量降低成员的访问权限、

    广义上的迪米特法则在在代码层次上的实现:

     1)控制局域变量的有效范围  

           也就说,能用局部变量就用局部变量了,使得变量的范围尽可能的小

 

分享到:
评论

相关推荐

    设计模式6大原则

    设计模式原则:单一职责原则,里氏替换,依赖倒转,接口隔离,开放关闭等等。

    设计模式六大原则详解 经典

    设计模式是软件开发中的一种最佳实践,它基于一套核心原则来指导我们编写可维护、可扩展的代码。在这篇文章中,我们将深入探讨设计模式的六大原则,这些原则是理解并有效应用设计模式的基础。 首先,我们要了解“开...

    设计模式与设计原则.pdf

    本文件《设计模式与设计原则.pdf》中,将详细地探讨设计模式以及与之相关的六大设计原则。 首先,设计模式主要分为三类: 1. 创建型模式(Creational patterns):这些模式提供了一种在创建对象的同时隐藏创建逻辑...

    设计模式六大原则

    ### 设计模式六大原则详解 #### 一、开闭原则(Open-Closed Principle) **含义:** 开闭原则强调的是“对扩展开放,对修改关闭”。这意味着系统的设计应该是灵活的,能够轻松地添加新的功能而不需要修改现有代码...

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

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

    设计模式精髓 设计模式精髓

    下面介绍几种重要的设计模式原则: 1. **开闭原则**:软件实体应当对扩展开放,对修改关闭。这意味着在不修改原有代码的情况下,可以通过扩展的方式增加新的功能。 - **示例**:工厂模式就是一个很好的例子。通过...

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

    在这些设计模式和原则中,策略模式是一个非常重要的行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换使用。策略模式让算法的变化独立于使用算法的客户端。 以提供的文档内容为例,...

    设计模式六大原则 设计模式详解

    在本文中,我们将深入探讨设计模式的六大原则,这些原则是指导我们编写高质量、可维护和可扩展代码的关键。首先,我们将关注其中的一个重要原则——单一职责原则(Single Responsibility Principle,SRP)。 单一...

    C#面向对象设计模式纵横谈(1):面向对象设计模式与原则.zip

    C#作为一种流行的面向对象编程语言,在设计模式的实现上表现出色,而本书《C#面向对象设计模式纵横谈(1):面向对象设计模式与原则.zip》则深刻揭示了如何将这些模式与原则贯彻于C#代码之中。 首先,让我们从设计...

    设计模式课程项目.zip

    5. 设计模式原则:教学中还会涉及一些设计模式的原则,如开闭原则、里氏替换原则、依赖倒置原则等。这些原则是设计模式的灵魂,理解并掌握它们对于灵活运用设计模式至关重要。 6. 设计模式的高级应用:除了基本的...

    几种常用的设计模式介绍总结

    ### 设计模式原则 设计模式的应用往往伴随着一些基本原则,这些原则有助于指导开发者在设计软件时做出更好的决策。这些原则包括但不限于: - **单一职责原则**:一个类应该只有一个引起它变化的原因。 - **开放...

    大话设计模式总结.docx

    常见的设计模式原则包括: 1. 开放-封闭原则:对扩展开放,对修改关闭。这意味着在设计模式中,类和模块应该对扩展开放,让新的需求和功能可以轻松地被添加进来,而对修改关闭,避免对已有的代码进行修改,以保证...

    设计原则与设计模式

    面向对象设计原则:面向对象设计原则、开闭原则、里氏替换原则、里氏替换原则、里氏替换原则

    设计模式特点

    #### 设计模式原则 除了上述模式外,设计模式还涉及到一些基本原则,如: - **单一责任原则**:一个类应该只负责一项职责。 - **里氏替换原则**:子类应该能够替换它们的基类。 - **依赖倒置原则**:高层模块不...

    Java设计模式总结

    5. **`设计模式原则总结.mht`可能涵盖的内容**: 该文件可能对上述的设计原则进行了深入解读,提供每个原则的详细解释,以及在实际编程中如何遵循这些原则的示例和指导。 学习并掌握Java设计模式对于提升编程技能...

    设计模式的杰作:深入设计模式

    通过以上内容可以看出,《深入设计模式》不仅涵盖了设计模式的基本概念和应用,还深入探讨了面向对象编程的基础知识以及软件设计原则,为读者提供了全面而深入的理解。无论是初学者还是有一定经验的开发者,都能从中...

    24种设计模式介绍与6大设计原则-PDF版 查阅方便

    这个PDF文档“24种设计模式介绍与6大设计原则”旨在帮助开发者理解和应用这些模式,提高代码的可维护性和可扩展性。以下是其中的主要内容: 一、设计原则 1. 单一职责原则:一个类或模块应只有一个引起其变化的原因...

    java开发中使用的设计模式

    设计模式原则是指导程序员在编程时应当遵守的基本准则,也是各种设计模式的基础。 1. **单一职责原则**:一个类应该只有一个引起它变化的原因。这意味着类应当专注于完成单一的任务。 2. **接口隔离原则**:客户端...

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

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

Global site tag (gtag.js) - Google Analytics