深入浅出23种设计模式
当构造过程必须允许被构造的对象有不同的表示时。在C++中,类的表示在类接口中是可见的。Facade 可以提供一个简单的缺省视图,这一视图对大多数用户来说已经足够,而那些需要更多的可定制性的用户可以越过facade层。引入facade 将这个子系统与客户以及其他的子系统分离,可以提高子系统的独立性和可移植性。应用程序不依赖于对象标识。Coplien[Cop92] 称这种代理为“大使” 。在访问一个实际对象前,检查是否已经锁定了它,以确保其他对象不能改变它。
当构造过程必须允许被构造的对象有不同的表示时。在C++中,类的表示在类接口中是可见的。Facade 可以提供一个简单的缺省视图,这一视图对大多数用户来说已经足够,而那些需要更多的可定制性的用户可以越过facade层。引入facade 将这个子系统与客户以及其他的子系统分离,可以提高子系统的独立性和可移植性。应用程序不依赖于对象标识。Coplien[Cop92] 称这种代理为“大使” 。在访问一个实际对象前,检查是否已经锁定了它,以确保其他对象不能改变它。