![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
iteye_12515
这个作者很懒,什么都没留下…
展开
-
软件的可维护性和可复用性
面向对象的软件设计的两个核心要素就是软件的可维护性和可复用性。在支持可维护性的同时,提高系统的复用性。 一、软件系统的可维护性 软件系统的可维护性具体体现在三个目标上:可扩展性 新的功能可很容易地加入到系统中灵活性 允许代码的修改平稳发生可插入性 可很容易地将一个模块抽出去,然后用另一个实现了同样接口的模块代替...2011-01-13 16:37:39 · 367 阅读 · 0 评论 -
开-闭原则
一、什么是开-闭原则?一个软件实体应当对扩展开放,对修改关闭。 也就是说,在设计一个模块时,应当使这个模块可在不被修改的前提下被扩展。换言之,就是在不必修改原有代码的情况下给模块添加新行为。开-闭原则是面向对象设计最核心的原则。 二、怎样做到开-闭原则? 关键是抽象化。可给系统定义出一个不再更改的抽象设计,然后在此抽象设计的基础上可提供任意数...原创 2011-01-13 16:56:00 · 120 阅读 · 0 评论 -
里氏代换原则
一、什么是里氏代换原则? 一个软件实体如果使用的是一个基类的话,那么一定适用于其子类,而且它根本不能察觉出基类对象和子类对象的区别。 这条原则用来判断两个类之间是否是父子关系。如果不满足里氏代换原则,那么使用继承肯定有问题。 ...2011-01-13 16:58:18 · 125 阅读 · 0 评论 -
依赖倒转原则
一、什么是依赖倒转原则?抽象不应当依赖于细节;细节应当依赖于抽象 。或者说:要针对接口编程,不要针对实现编程 。二、为什么叫做依赖倒转原则? 传统的过程性系统设计倾向于使高层次的模块依赖于低层次的模块;抽象层次依赖于具体层次。依赖倒转原则就是要把这种依赖关系倒转。 抽象层包含的是系统的商务逻辑和宏观的、对整个系统来说最重要的战略性决定,是必然性的实现;而具体层次则含...2011-01-13 17:06:25 · 112 阅读 · 0 评论 -
接口隔离原则
一、什么是接口隔离原则? 使用多个专门的接口比使用单一的总接口要好。二、接口隔离原则详解 “接口”这个词有两个意思,一是指Java语言中的interface语言结构;另一个就是一个类型的所有方法特性的集合。 对于第一种意思,接口隔离原则讲的是提供必要的接口,需要什么,提供什么。 对于第二种意思,每个接口只负责一种责任。...2011-01-13 17:11:36 · 78 阅读 · 0 评论 -
合成/聚合复用原则
一、什么是合成/聚合复用原则?尽量使用合成/聚合,而不是使用继承。二、两种基本复用类型面向对象的设计里,复用已有的设计和实现有两种方式,一是继承,二是合成/聚合。使用继承复用有两个缺点:(1)超类的实现发生了改变,会影响到子类。(2)从超类继承而来的实现是静态的,不可能在运行时发生改变,不够灵活。由于这些缺点,推荐使用合成/聚合。...2011-01-13 17:15:20 · 122 阅读 · 0 评论 -
迪米特法则
一、什么是迪米特法则?每个软件实体对其他的实体只有最少的了解,而且仅限于那些与本实体密切相关的软件实体 。 也可说成:只与直接的朋友通信 。二、狭义迪米特法则 如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用。如果其中的一个类需要调用另一个类的方法,可通过第三者来转发。 狭义迪米特法则有一个明显的缺点:会在系统里产生大量的小方法,而且很可能散落在各个...2011-01-13 17:22:27 · 106 阅读 · 0 评论 -
设计模式概述
一、模式是什么?在某种环境下对某个问题的答案。这里有三个关键字:环境、问题和答案。当然只有那些重复出现的典型问题才有研究的价值。二、模式的分类1.创建模式创建模式是对类的实例化过程的抽象。2.结构模式结构模式描述如何将类或对象结合在一起形成更大的结构。3.行为模式行为模式是对不同对象之间划分责任和算法的抽象...2011-01-14 13:37:21 · 95 阅读 · 0 评论 -
设计模式的意义
占位……原创 2011-04-06 18:45:31 · 212 阅读 · 0 评论