什么是模式

什么是模式?模式就是经过无数次的实践和失败总结出来的,解决特定场景下的特定问题的解决方案和最佳实践。
 
对于模式,Pattern Alexander给出了经典定义:
 
每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式 你可以无数次地使用那些已有的解决方案 无需再重复相同的工作。
 
模式作为现实世界中的一个元素,都是以下这三者之间的关系,它们是:特定的情景,在该情景下反复出现的特定压力系统和使这些压力能够自我释放的空间配置。
 
作为语言的一个元素,模式是一条指令,说明了如何重复地使用这个空间配置,一旦给定的情景适当就释放给定的压力系统。简而言之,模式是一种出现在现实世界的事物,同时它也是一条告诉我们如何创建,何时创建该事物的规则。它既是一个过程, 又是一种事物;既是对一个存在事物的描述 又是对生成该事物过程的描述。

模式具有双重性,它既是生成的,又是描述的。因为它既是对重复生成的架构元素的描述,又是对如何以及何时创建该元素的规则。从本体论的观点来说,生成的属 性指模式的内容,即指反复出现的事物的自身;从认识论的观点来说,描述的属性指模式的形式,是我们捕捉并表述这一事物的方式(问题->情况 ->压力->解决)。 简而言之,设计模式的核心是问题描述和解决方案,问题描述说明模式的最佳使用场合,解决方案以及它将如何解决问题,解决方案是用一组类和对象及其结构和动 态协作来描述的。
 
因此每个模式一定要包括问题,场景,压力和解决方案四个要素。
 
问题:你遇到了什么难以解决的问题?
场景:你是在那种场景下遇到的问题,不同场景下遇到相同的问题也可能采取不同模式。
压力:有哪些影响方面,哪些约束,由于问题复杂性需要如何折中处理?
解决:在以上三要素约束和作用下,已经被前人实践证明的可行方案。

你可能感兴趣的:(设计模式,工作)