
设计理论
jqrsdsy
这个作者很懒,什么都没留下…
展开
-
设计模式-OOD的设计原则(1)-"开-闭原则"
这些OOD原则的一个基石就是"开-闭原则"(Open-Closed Principle OCP).这个原则最早是由Bertrand Meyer提出,英文的原文是:Software entities should be open for extension,but closed for modification.意思是说,一个软件实体应当对扩展开放,对修改关闭.也就是说,我们在设计一个模块的时候,应转载 2012-02-08 22:11:01 · 306 阅读 · 0 评论 -
设计模式-OOD的设计原则(4)-"接口隔离原则"
接口隔离原则(ISP):使用多个专门的接口比使用单一的总接口要好.也就是说,一个类对另外一个类的依赖性应当是建立在最小的接口上的. 这里的"接口"往往有两种不同的含义:一种是指一个类型所具有的方法特征的集合,仅仅是一种逻辑上的抽象;另外一种是指某种语言具体的"接口"定义,有严格的定义和结构.比如Java语言里面的Interface结构.对于这两种不同的含义,ISP的表达方式以及含义都转载 2012-02-08 22:18:00 · 252 阅读 · 0 评论 -
设计模式-OOD的设计原则(3)-"依赖倒转原则"
"开-闭"原则是我们OOD的目标,达到这一目标的主要机制就是"依赖倒转原则".这个原则的内容是:要依赖于抽象,不要依赖于具体. 对于抽象层次来说,它是一个系统的本质的概括,是系统的商务逻辑和宏观的,战略性的决定,是必然性的体现;具体的层次则是与实现有关的算法和逻辑,一些战术性的决定,带有相当大的偶然性.传统的过程性系统设计办法倾向于使高层次的模块依赖于低层次的模块;抽象层次依赖于具体转载 2012-02-08 22:14:43 · 266 阅读 · 0 评论 -
设计模式-OOD的设计原则(2)-"里氏代换原则"
从上一篇的"开-闭"原则中可以看出,面向对象设计的重要原则是创建抽象化,并且从抽象化导出具体化.这个导出要使用继承关系和一个原则:里氏代换原则(Liskov Substitution Principle, LSP). 那么什么是里氏代换原则呢?有个严格的表述,绕口,不好记.还是比较白话的这个好记.说的是:一个软件实体如果使用的是一个基类的话,那么一定适用于其子类,而且它察觉不出基类对转载 2012-02-08 22:11:45 · 292 阅读 · 0 评论 -
设计模式-OOD的设计原则(5)-"合成聚合复用原则"
合成(Composition)和聚合(Aggregation)都是关联(Association)的特殊种类。聚合表示整体和部分的关系,表示“拥有”;合成则是一种更强的“拥有”,部分和整体的生命周期一样。合成的新的对象完全支配其组成部分,包括它们的创建和湮灭等。一个合成关系的成分对象是不能与另一个合成关系共享的。 换句话说,合成是值的聚合(Aggregation by Value),而转载 2012-02-08 22:18:40 · 321 阅读 · 0 评论