转载请注明出处: http://www.cnblogs.com/doriandeng/archive/2007/10/17/926769.html
在软件架构和开发中,模式是发生在给定的环境的确定问题的描述,和基于主导力( Guiding forces )集合,提出一个解决方案。解决方案通常是一个简单的机制,因为它是二个或我个类、对象、服务、进程、线程、组件或节点的组合,这些在一起工作以解决底层架构或开发挑战。
模式是对于开发和架构而言是非常有用的,因为它们可以做下列事件:
-
文档化了简单机制的工作。
-
为开发和架构提供通用的词汇和分类。
-
允许解决方案简明的描述为模式的联合。
-
使架构、设计和实现决定可以重用。
Enterprise Library 应用程序块使用了下列设计模式( 还有其他的):
-
工厂模式(Factory )
-
这是一种创建型模式,使用了一个特别的对象类型来创建其他对象。
插件模式(Plug-in)
-
此模式扩展类的行为,方法是允许扩展插入到一个抽象类中,依次的,插入到一个核心类。这创建了一个新的子类,它仅包含了在特定环境中需要的功能。
依赖注入模式
-
使用这个模式,注入对象到一个类中,替换依赖类来创建对象。
关于模式的更多信息,请参数Microsoft patterns & practices 和 PatternShare Community Web 站点。
工厂模式
工厂模式是一种创建型的设计模式(那就是,可以使用一个抽象实体来创建另一个)。Enterprise Library 应用程序块大量的使用了工厂模式。例如,在缓存应用程序块中,CacheFactory
初始化 CacheManager
对象的实例。CacheManager
创建一个 CacheManagerFactory
对象,依次创建一个 Cache
对象。Cache
对象在后端存储中保持了下数据的记忆体表示。在 Cache
对象创建后,应用程序可以要求 CacheManager
对象获取缓冲的数据,添加数据到缓存,或从缓存中删除数据。更多信息,请参见缓存应用程序块的设计。
数据访问应用程序块也以相似的方式使用工厂模式。客户端代码调用 DatabaseFactory
类的静态方法CreateDatabase
方法创建 Databse
对象的实例。更多信息,请参见数据访问应用程序块的设计。
< h3> 插件模式
插件模式是一种在运行时创建接口的对象实例的一种软件设计模式。插件模式扩展了已存在类的行为,所以它可以用于更多特殊的目的。它不用于使用类继承,继承的行为被修改或覆写,或者配置行为的修改限制为定义配置选项的范围。
使用插件模式,修改的行为(插件)连接到一个部分抽象的类,依次的,连接到一个核心类。插件使用这个接口来实现由核心类调用的方法,也可以在核心类中调用新的方法。
< h3> 依赖注入模式依赖注入模式允许您注射一个对象到一个类中,代替依赖类来创建对象。这在从应用程序中解耦特定实现和部署的细节的场境中特别有用。依赖注入模式解耦了服务或其他应用程序可能依赖的代码与应用程序本身和在包装器中的包。接着,处理代码的责任,包括对象创建和链接,都将从对象本身中删除并转化成另一个实体。不像使用工厂模式,使用依赖注入模式,在包装器中的代码可以被多个应用程序共享。
System.ComponentModel
命名空间是一个依赖注入模式的 Microsoft 实现。在 Enterprise Library 中,ObjectBuilder
实现了依赖注入模式。
关于依赖注入模式的更多信息,请参见 Inversion of Control Containers and the Dependency Injection Pattern 。