**设计模式中的常用原则

1 单一职责原则:

  单一职责就是发现软件设计中的不同职责,并把这些职责相互分离。

2 开放-封闭原则:

  是说软件实体(比如类,函数)应该可以扩展,但是不可修改。意思是,在不影响其他功能代码块功能的前提下,课增加代码。比如简单工厂设计中http://www.cnblogs.com/buptzlb/p/7593663.html,增加开放运算不会影响加减乘除,这就是开放的。

  另外一种理解,面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。

  举例:电脑内存不够用,直接加个内存条就好了。

  开放、封闭原则是面向对象设计的核心所在。

3 里氏替换原则:

  • 子类型必须能够替换掉他们的父类型。
  • 子类拥有父类的非private的行为和属性。

4 依赖倒转原则

  • 抽象不依赖于细节,细节要依赖抽象
  • 高层模块和底层模块都要依赖抽象
  • 要面向接口编程,而不是面向实现。
时间: 2024-10-07 20:03:17

**设计模式中的常用原则的相关文章

ASP.NET 设计模式中依赖倒置原则

依赖倒置原则 A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象. B.抽象不应该依赖于具体,具体应该依赖于抽象. 依赖倒置原则 A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象. B.抽象不应该依赖于具体,具体应该依赖于抽象. 目录 1概述 2意图 3代码实现 4结构图 1概述编辑 所谓依赖倒置原则(Dependence Inversion Principle)就是要依赖于抽象,不要依赖于具体.简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现

设计模式中的六大设计原则之三,四

求二叉树的宽度和深度 给定一个二叉树,获取该二叉树的宽度和深度. 例如输入 a / \ b c / \ / \ d e f g 返回3. 详细描述: 接口说明 原型: int GetBiNodeInfo(BiNode &head, unsigned int *pulWidth, unsigned int *pulHeight) 输入参数: head 需要获取深度的二叉树头结点 输出参数(指针指向的内存区域保证有效): pulWidth 宽度 pulHeight 高度 返回值: 0 成功 1 失败

设计模式中的里氏代换原则

设计模式中的里氏代换原则 Table of Contents 1 里氏代换原则 2 模式中的里氏代换原则 2.1 策略模代 2.2 合成模式 2.3 代理模式 3 如何继承 3.1 不要从具体类继承 3.2 避免错误继承 1 里氏代换原则 从开-闭原则中可以看出来面向对象的重要原则是创建抽象化,并从抽象化导出具体化.具 体化可以给出不同的版本,每一版本都给出不同的实现.里氏代换原则从另一个侧面描述 抽象化和具体化,里氏代换原则表明:一个软件如果使用的是一个基类的话,那么一定适 用于其子类,而且它

[设计模式](转)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

设计模式中的六大设计原则之一,二

最近在学习设计模式方面的知识,首先接触到的是设计模式中的六大设计原则: 1.单一职责原则: 2.里氏替换原则:3.依赖倒置原则:4.接口隔离原则:5.迪米特法则:开闭原则.下面我来讲讲我对这六大设计自己的理解,如有欠缺地地方,请大家及时指出啊...   1.单一职责原则:应该有且仅有一个原因引起类的变更.通俗的说,即一个类只负责一项职责.下面我们举一个具体的例子来说明一下什么是单一职责原则.电话通话的时候有4个过程发生:拨号,通话,回应,挂机,首先看下面这样一个借口,如图1所示: 图1. 我们来

设计模式中的一些设计原则

七大著名设计原则 1.单一职责原则(SRP - Single Responsibility Principle) 就一个类而言,应该仅有一个引起它变化的原因,功能要单一 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力,这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏 软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离,如果你能够想到多于一个的动机去改变一个类,那么这个类就具备有多于一个的职责 2.开放-封

设计模式之六大设计原则

在上篇博文中提到了开放-封闭原则,没有细谈,这次我们来总结一下设计模式的几大原则. 1开放-封闭原则:是指软件实体(类.模块.函数等)应该可以扩展,但是不可修改. 对原则的理解:开闭原则是最具有理想主义色彩的一个原则,它是面向对象设计的终极目标,下面所要介绍的几个原则可以看成是为了符合开闭原则所作的努力和解决办法.对于开闭原则通俗的理解就是,能不改就不改,能少改尽可能的少改.周所周知,物质是运动的,世界是变化的,想要让一个事物永恒不变是不可能的,所以要想让软件绝对符合开闭原则是不可能的. 2单一

设计模式2 面向对象设计原则

面向对象设计原则  原则的目的 面向对象设计原创表  单一职责原则案例 开闭原则 案例 依赖倒转原则 案例 面向对象设计原则  对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一.在面向对象设计中,可维护性的复用是以设计原则为基础的.每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平.  面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含

C#使用设计模式和软件设计原则构建应用程序 PartIII

依赖注入 这个原则的要点是什么.为什么你不能对类的实例进行再次硬编码?当我们编码,测试的时候,让我们关注一件很重要的事情.希望你知道单元测试并知道它的重要性.也许在你做任何编码之前你都应该首先设计你的测试,因此你应该很熟悉测试驱动开发.为了定义新功能你应该去写测试,你应该尝试去实现并开始编码直到测试通过.让我们先看看之前的文章的代码. public class DateBasedTaxFactory:ITaxFactory { Customer _customer; ITaxFactory _t