2020-06-27 真实世界中的模式

2020-06-27  本文已影响0人  ShawnPanCn

定义设计模式

模式是在某情境(context)下,针对某问题的某种解决方案。

  情境就是应用某个模式的情况。这应该是会不断出现的情况。

  问题就是你想在某情境下达到的目标,但也可以是某情境下的约束。

  解决方案就是你所追求的:一个通用的设计,用来解决约束、达到目标。

设计模式模板

  名称

  意图 Intent

  动机 Motivation

  适用性 Applicability

  结构 Structure

  参与者 Participants

  协作 Collaborations

  结果 Consequences

组织设计模式

最广为人知的分类方式,根据模式的目标分成三个不同类目:创建型、行为型和结构型。

创建型模式涉及到将对象实例化,这类模式都提供一个方法,将客户从所需要实例化的对象中解耦。

行为型模式,涉及到类和对象如何交互及分配职责。

结构型模式可以让你把类或对象组合到更大的结构中。

另一种分类方式:模式所处理的是类或对象。

类模式描述类之间的关系如何通过继承定义。类模式的关系是在编译时建立的。

对象模式描述对象之间的关系,而且主要是利用组合定义。对象模式的关系通常在运行时建立,而且更加动态、更有弹性。

反模式

反模式(Anti-Pattern)看起来总像是一个好的解决方案,但是当它真正被采用后,就会带来麻烦。

  通过将反模式归档,我们能够帮助其他人在实现它们之前,分辨出不好的解决方案。

  像模式一样,有许多类型的反模式,包括了开发反模式、OO反模式、组织反模式和领域特定反模式。

设计模式的使用

  让设计模式自然而然地出现在你的设计中,而不是为了使用而使用。

  设计模式并非僵化的教条,你可以依据自己的需要采用或调整。

  总是使用满足需要的最简单的解决方案,不管它用不用模式。

  请牢记:你所遇到的大多数的设计模式都是现有模式的变体,而非新的设计模式。

上一篇下一篇

猜你喜欢

热点阅读