博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

http://www.cnblogs.com/pennant/category/212159.html

http://www.kuqin.com/ace-2002-12/Part-One/Chapter-2.htm

 

服务访问和配置模式

      包装器外观(Wrapper Facade)设计模式把现有的非面向对象的API所提供的函数和数据,封装在更加简洁的、健壮的、可移植的、可维护的和内聚的面向对象的类接口里面。常常应用包装器外观“包装”更低层操作系统API来提高应用程序的可移植性。它也能减轻与使用低层API编程有关的偶发的复杂性。

      组件配置器(Component Configurator)设计模式允许应用程序在不必修改,重新编译或者静态地重新链接的情况下,在运行时链接和解链它的组件实现。

      截取器(Interceptor)体系结构模式允许透明地把服务加入框架中,并且当事件发生时,能自动地触发服务。因此,截取器为它自己的演化准备了一个框架,以适应在框架的最初开发期间未被配置甚至未知的服务。同时截取器也允许其他的应用程序把组件和服务与框架的实例集成起来。

      扩展接口(Extension Interface)设计模式在开发人员扩展或修改现有组件的服务功能时,防止引起接口的“膨胀”和客户机代码的破坏。可以把多个扩展接口放在同一组件中。扩展接口既要处理组件和服务演化的难题,又要处理客户机的供应问题,这些客户机具有与角色有关的对组件功能的访问授权。

 

 

 避免直接访问非面向对象的API。对于非面向对象的API中的每组相关函数和数据,为它们创建一个或多个包装器外观类,把这些函数和数据封装在面向对象的包装器外观所提供的更简洁的、健壮的、可移植的和可维护的方法中。

 facade封装面向对象的子系统,而不是封装更低层的非面向对象的api.decorator通过透明地附加额外的责任,动态地扩展对象,从而导致不必要地性能开销。bridge和适配器adapter

也引入额外的间接层,这也导致开销。因此总的来说,这些模式不太适合封装现有的更低层的非面向对象api。