软件架构设计的六大原则

1.“开-闭”原则(OCP) 
    Software entities should be open for extension, but closed for modification. 
    对扩展开放,对修改封闭。

2.里氏代换原则(LSP) 
    凡是基类适用的地方,子类一定适用。

3.依赖倒转原则(DIP) 
    要依赖抽象,不要依赖具体。

4.迪米特法则(LoD) 
    一个对象应该对其他对象有尽可能少的了解。

5.接口隔离原则(ISP) 
    使用多个专门的接口比适用单一的接口要好。

6.合成/聚合复用原则(CARP) 
    要尽量使用合成/聚合,尽量不要使用继承。

文章转自:http://blog.csdn.net/ol_beta/article/details/6668615

时间: 2024-08-10 01:23:58

软件架构设计的六大原则的相关文章

软件架构设计的七大原则

软件架构设计有七大原则,分别是: 1.开闭原则 2.依赖倒置原则 3.单一职责原则 4.接口隔离原则 5.迪米特法则(最小知道原则) 6.里氏替换原则 7.合成/聚合复用原则 下面分别具体说明: 1.开闭原则  :对扩展开放,对修改关闭    说的是,再设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展.换言之,应当可以在不必修改源代码的情况下改变这个模块的行为,在保持系统一定稳定性的基础上,对系统进行扩展. 例如:一般软件功能的升级就需要符合开闭原则,即不去修改原来的代码,而是去增

设计模式 之 设计的 六大原则(6) 开放封闭原则

  开放封闭原则  定义:一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 问题由来:在软件的生命周期内,因为变化.升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试. 解决方案:当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化. 开闭原则是面向对象设计中最基础的设计原则,它指导我们如何建立稳定灵活的系统.开闭原则可能是设计模式六项原则中定义最模糊的一个了,

初识设计模式、软件设计的六大原则

总结:本篇文字分为两个部分.第一部分:设计模式基本常识:第二部分:软件设计中的六大原则,并详细分析了单一职责原则.(本篇文章的时间轴参考:为知笔记支撑文件夹\Java设计模式(时间序列图).vsdx) 部分一:初识设计模式 什么是设计模式?James拿到这个论点时,很是迷惑! 模式?是不是一个模子?模式识别--计算机领域的经典问题? 设计模拟?软件的设计模式?不懂!!! 但是在实际编码.调试过程中,James的遇到过很是难解的问题:工程代码中有过多的冗余代码--代码复用性不高:需求一旦改变,需要

网页设计之六大原则

随着互联网时代的快速发展,设计师不再只是为互联网创造漂亮美观的图片那么简单了,作为一个WEB设计师,除了基本的设计技能之外,还需要考虑一些其他的问题,比如用户体验,算法,代码等等.如今用户体验设计越来越重要,对于WEB表单的设计尤其如此. WEB表单设计的目标是设计出一套让用户能够从填表到点击提交按钮的最简单的流程.从非常简单直接的表单到花哨.多彩和创意的表单,每个网站都会呈现一种表单风格.不论是登录/注册表单,还是联系表单,或者其他类型表单,设计师们需要牢记一点:这些表单的目标是要赢得用户的注

Java面向对象设计的六大原则

这是设计模式系列开篇的第一篇文章.也是我学习设计模式过程中的总结.这篇文章主要讲的是面向对象设计中,我们应该遵循的六大原则.只有掌握了这些原则,我们才能更好的理解设计模式.我们接下来要介绍以下6个内容. 单一职责原则——SRP 开闭原则——OCP 里式替换原则——LSP 依赖倒置原则——DIP 接口隔离原则——ISP 迪米特原则——LOD 单一职责原则 单一职责原则的定义是就一个类而言,应该仅有一个引起他变化的原因.也就是说一个类应该只负责一件事情.如果一个类负责了方法M1,方法M2两个不同的事

设计模式 之 设计的 六大原则(3) 依赖倒置原则

依赖倒置原则 定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象:抽象不应该依赖细节:细节应该依赖抽象. 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成.这种场景下,类A一般是高层模块,负责复杂的业务逻辑:类B和类C是低层模块,负责基本的原子操作:假如修改类A,会给程序带来不必要的风险. 解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者类C发生联系,则会大大降低修改类A的几率. 依赖倒置原则基于这样一个事实:相对于

设计模式 之 设计的 六大原则(4) 接口隔离原则

接口隔离原则 定义:客户端不应该依赖它不需要的接口:一个类对另一个类的依赖应该建立在最小的接口上. 问题由来:类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类A和类B来说不是最小接口,则类B和类D必须去实现他们不需要的方法. 解决方案:将臃肿的接口I拆分为独立的几个接口,类A和类C分别与他们需要的接口建立依赖关系.也就是采用接口隔离原则. 举例来说明接口隔离原则: (图1 未遵循接口隔离原则的设计) 这个图的意思是:类A依赖接口I中的方法1.方法2.方法3,类B是对类A依赖的实现

面向对象设计的六大原则简介

实际上都是互补的,也就是说一些原则需要利用另一些原则来实现自己. 6大原则如下: 1)单一职责原则,一个合理的类,应该仅有一个引起它变化的原因,即单一职责,就是设计的这个类功能应该只有一个; 优点:消除耦合,减小因需求变化引起代码僵化. 2) 开-闭原则,讲的是设计要对扩展有好的支持,而对修改要严格限制. 优点:降低了程序各部分之间的耦合性,其适应性.灵活性.稳定性都比较好.当已有软件系统需要增加新的功能时,不需要对作为系统基础的抽象层进行修改,只需要在原有基础上附加新的模块就能实现所需要添加的

0608pm单例模式and面向对象的六大原则

//把类控制住,不让外界造她的对象class DA{ public $name; static private $dx;//存放对象的变量 //将构造变为私有,外界没法造对象 private function __construct() { } //提供一个造对象的方法 static function CreateDX() { if(empty(self::$dx))//判断是否为空 { self::$dx=new DA();//如果是空的就new一个对象放在dx里面 } return self