设计模式之7大原则

一、单一职责原则

类的职责要单一,不能将太多的职责放在同一个类中

二、开放封闭原则

软件实体对扩展开放,对修改关闭。

(注:软件实体可以指一个软件模块、一个由多个类组成的局部结构或一个独立的类。

抽象化是开闭原则的关键)

三、里氏代换原则

在软件系统中,能接受基类对象的地方,必然可以接受一个子类对象

  (注:里氏代换原则是实现开闭原则的重要方式之一,由于使用基类对象的地方都可以使用子类对象,因此在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象。)

四、合成复用原则

  在系统中尽量多使用聚合和组合关系,尽量少使用或者不适用继承关系

五、依赖倒置原则

要针对抽象层编程,而不要针对具体类编程,即要针对接口编程,不要针对实现编程。

  (注:依赖倒置原则的常用实现方式之一是在代码中使用抽象类,而将具体类放在配置文件中。)

六、接口隔离原则

  尽量使用专门的接口来代替一个统一的接口

七、迪米特法则

  一个软件实体对其他实体的引用越少越好,即如果两个类不必彼此直接通信,那么这两个类就应该通过引入一个第三者发生间接交互。

时间: 2024-11-05 11:43:55

设计模式之7大原则的相关文章

设计模式之6大原则(5)-迪米特法则

迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话.英文简写为: LoD. 迪米特法则可以简单说成:talk only to your immediate friends. 对于面向OOD来说,又被解释为下面几种方式:一个软件实体应当尽可能少的与其他实体发生相互作用.每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位. 迪米特

设计模式之6大原则(6)开闭原则

1. more第一版 实现基础功能,显示每一页固定24行文本,"q Enter"退出, "Enter" 下一行, "space Enter"下一页. /************************************************************************* > File Name: more01.c > Author: qianlv > Mail: [email protected] &

[设计模式](转)Java中的24种设计模式与7大原则

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; text-decoration: none; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: poin

设计模式之6大原则

好久没有更新博客了,一个自己这段时间忙于项目:另外一个原因就是自己这段时间干了一件美满的事情,找到了人生的另一半(虽然现在还是女朋友阶段):但是我还是希望能够有足够的时间.心情能够将自己这段时间的一些收获用文字的形式记录下来: 说到设计模式,其实大家都不陌生,应该说都是非常熟悉的.因为在项目里面都会不知不觉的用到它们,我想最耳熟能详的单例模式,大家应该都是熟悉的“不要不要”的吧.但是如果我问你,在设计模式里面有6条最基本的设计原则,你知道是哪些吗? 单一职责原则,这条原则大家望文生义就应该知道它

设计模式的6大原则:也是编程者编程时应该追求和遵循的

1.开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭.在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果.所以一句话概括就是:为了使程序的扩展性好,易于维护和升级.想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点. PS:曾经笔者面试的时候,被问过,为何要使用接口编程,那个时候我答不上来,准确说是没深入了解开闭原则之前,我都不能答上. 2.里氏代换原则(Liskov Substitution Principl

24种设计模式与6大原则

一.总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组合模式.享元模式. 行为型模式,共十一种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 二.设计模式的六大原则 1.开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭.在程序需要进行拓

Java中的24种设计模式与7大原则 (转)

一.创建型模式 1.抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2.生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示.3.工厂模式(factory method pattern): 定义了一个创建对象的接口, 但由子类决定要实例化的类是哪一个. 工厂方法让类把实例化推迟到子

Java中的24种设计模式与7大原则

一.创建型模式 1.抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2.生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示.3.工厂模式(factory method pattern): 定义了一个创建对象的接口, 但由子类决定要实例化的类是哪一个. 工厂方法让类把实例化推迟到子

设计模式6大原则

单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 设计模式六大原则(1):单一职责原则 定义:不要存在多于一个导致类变更的原因.通俗的说,即一个类只负责一项职责. 问题由来:类T负责两个不同的职责:职责P1,职责P2.当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障. 解决方案:遵循单一职责原则.分别建立两个类T1.T2,使T1完成职责P1功能,T2完成职责P2功能.这样,当修改类T1时,不会使职责P2发生故障风险:同理,当修