常用的软件设计模式:创建型模式

[2014年3月19日,陕西西安]引言:模式提供了一种有效的软件复用方式,正如不同的设计工程师在设计时复用软件的层次不同,或是人们出发点不同,则会造成对什么是模式和什么不是模式的理解不同。同时模式代表着对特定环境中出现的问题的专业解决方案,由此,设计模式在粒度和抽象层次上各部相同,可以在多个抽象的层次和多个领域内定义。常见的软件模式分类有:设计型模式、构建型模式、分析型模式、创建型模式、结构型模式和行为型模式。

创建型模式抽象了实例化过程,它们从帮助一个系统独立于如何创建、组合和表示它的那些对象。一个类创建模式适用继承改变了被实例化的类,而一个对象创建型模式将是实例化委托给另外一个对象。

随着软件开发手段不断发展,系统越来越依赖于对象复合而不是集成,创建型模式变得更为重要。此时,软件开发的重心从对一组固定行为的硬编码转移为定义一个较小的基本行为(构件,可以是类、对象或他们的更高级别的封装)集,这些行为可以被组装成为任意数目的更复杂的行为。在创建型模式中首先要考虑两方面问题:

1) 它们都将关于系统使用那些具体的类的信息封装起来。

2) 它们隐藏了这些类的实例是如何被创建和放在一起的。

系统对于组成它的对象的了解是由抽象类定义的接口来实现的。因此,创建型模式在什么场合被建立,谁在创建它,它是怎样创建的的以及何时创建给系统设计者提供了很大的灵活性,它允许设计者用结构和功能差别很大的构件配置一个系统,这种配置可以在运行时动态进行,可以在编译时静态制定。

用一个系统创建的那些对象的类比系统进行参数化有两种常见方法。一种是生成对象的子类,此时适用Factory Method模式,其缺点是仅为了改变产品类,就可能需要创建一个新的子类。另一个方法是采用对象复合:定义一个对象负责明确产品对象的类,并把它作为该系统的参数。这就是Abstract Factory、Builder和Peototype模式的特征 ,它们都要创建一个新的负责创建产品对象的“工厂对象”,Abstract Factory由这个工厂产生更多类的对象,Builder由这个工厂对象使用相对复杂的协议,逐步创建一个复杂的产品,Prototype由这个工厂对象通过复制原型对象来创建产品对象。

 

本文来源:时光·协同
更多
相关文章
关注我们
媒介联系

Email:marketing@cicro.com

TEL:(8629)87579521

FAX:(8629)87579518