本文为敏捷软件开发 - 原则、模式与实践系列的一部分。
本文对应原书第26章
PROXY模式
PROXY模式具有一个非常大的好处:重要关系的分离。在上面的例子中,业务规则和数据库就被完全分开了。在那些把业务 规则和数据库实现分离显得非常重要的情况中,PROXY模式是很适用的。就此而言,PROXY模式可以用来分离业务规则和任何种类的实现问题。它可以用来防止业务规则被诸如:COM、COBRA、EJB等东西污染。
使用代理是有代价的。规范模式中所隐含的简单委托模型很少能够被优美地实现。相反,我们经常会取消对于繁琐的获取和设置方法的委托。对于那些管理1:N关系的方法来说,我们会推迟委托并把它移到其他方法中。
大多数应用程序不需要代理。但是存在一些情况,其中代理所提供的的应用程序和API的极端分离是有益的。这些情况几乎总是会出现在那些遭受着频繁的数据库模式或者API变更的非常大型的系统中;或者出现在可以运行在许多不同的数据库引擎或者中间件引擎之上的系统中。
STAIRWAY TO HEAVEN模式
STAIRWAY TO HEAVEN模式是另一个可完全和PROXY模式一样的依赖关系倒置的模式。它使用类形式的ADAPTER模式的一个变体。