1 起源2 软件设计模式的概念与意义
2.1 软件设计模式的概念2.2软件设计模式的意义 3 设计模式的主要组成
3.1 名称3.2 问题3.3 解决方案3.4 效果
1 起源设计模式这个属于最初并不出现于软件领域 ,而是先被用做建筑领域中。
1977年美国建筑大师克里斯托夫·亚历山大在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。
1987年肯特·贝克和沃德·坎宁安首次将亚历山大的模式用于软件中,但并未收到软件工程界广泛关注。
1990年软件工程界开始大范围讨论设计模式。
1995年艾瑞克·伽马、理査德·海尔姆)、拉尔夫·约翰森、约翰·威利斯迪斯等 4 位作者合作出版了《设计模式:可复用面向对象软件的基础》一书,在本教程中收录了 23 个设计模式,这是设计模式领域里程碑的事件,导致了软件设计模式的突破。
直到今天,狭义的设计模式还是这23种。
是一套反复使用的,多数人知道的,经过分类,代码设计经验的总结。它描述了软件设计过程中一系列不断重复发生的问题,以及解决问题的方案。它是解决特定问题的一系列套路,是前辈设计经验的总结,具有一定的普遍性,可以反复使用。目的是为了提高代码可读性,复用性和可靠性。
2.2软件设计模式的意义设计模式的本质是对面向对象的实际运用,是对类的封装性,继承性,多态性及类的组合关系和组合关系的充分理解和应用。
可以提高程序员的思维能力,编程能力,设计能力。
使程序设计更加标准化,代码更加工程化,提升软件开发效率,缩短开发周期。
使代码的可读性高,可复用性强,灵活性好,可维护新强。
每一个设计模式都有自己的名称,通常由一两个词描述,可以根据模式的问题,功能,效果,解决方案来命名。有助于我们了解和使用设计模式
3.2 问题描述了该方案的使用环境,及合适该使用设计模式。 它解释了问题的出现和前因后果,以及必须满足的先决条件。
3.3 解决方案包括设计的组成成分,他们之间的相互关系及各自的职责和协作方式。模式可适用于不同场合,解决方案并不单独描述一个特定而具体的设计与实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的组合(类或对象,接口)来解决问题。
3.4 效果描述了该设计模式的应用效果和优缺点,主要是对时间和空间的衡量,以及对系统的可移植性,扩展性,灵活性的影响,也考虑实现问题。对理解设计模式有很大作用。



