模式简介

来源:互联网 发布:淘宝开放平台教程采集 编辑:程序博客网 时间:2024/04/28 04:00

什么是模式

    每个模式描述了一个在我们周围不断重复发生的问题以及该问题解决方案的核心。这样,你就能一次有一次地使用这个方案而不必重复劳动。[Alexander et al]

模式的核心是特定的解决方案,它有效而且有足够的通用性,能解决重复出现的问题。

模式的关键点在于他们源于实践。必须观察人们的工作过程,发现其中好的设计,并找出“这些解决方案的核心”。

面向对象编程与模式

面向对象编程是将现实世界抽象为程序语言的编程方法,只是一种思想。现实世界的各种对象并不能用完全面向对象的方法描述清楚,所以只能在现有条件下追求好的面向对象编程方法。

模式是解决问题的一类通用专家方案,在面向对象编程中应用模式可以达到更好的面向对象。

设计原则与模式

设计原则:

针对接口编程,而不是针对实现编程

优先使用对象组合,而少用继承

封装变化点

具体的设计原则:

单一职责原则

开放封闭原则

Liskov替换原则

依赖倒置原则

接口隔离原则

设计原则是面向对象编程的基本原则,模式是为了更好的实现这些设计原则,因此,为了有效地设计,而去熟悉某种模式所花费的代价是值得的。[摘自微软webcast讲座]

设计模式

    设计模式只是模式的一种,一般来说,模式分为三种:企业架构模式、设计模式、一般方法。具体可以参考《面向模式的软件体系结构》。

    其实在软件设计人员中,唾弃设计模式的可能很少,盲目夸大设计模式功用的反而更多。言必谈“模式”,并不能使你成为优秀的架构师。真正出色的设计师,懂得判断运用模式的时机。还有一个问题是,很多才踏入软件设计领域的人员,往往对设计模式很困惑。对于他们来说,由于没有项目的实际经验,OO 的思想也还未曾建立,设计模式未免过于高深了。其实,即使是非常有经验的程序员,也不敢夸口对各种模式都能合理应用。[--摘自wayfare的设计之道]

原创粉丝点击