设计模式"门面"

Mat*_*der 7 design-patterns objective-c ios

我正在研究设计模式的问题.在这种情况下,我想实现设计模式' Facade '

我知道' Cocoa Touch '为我们提供了在项目中应用设计模式的完整解决方案(例如NSNotificationCenter - 实现观察者设计模式)

接下来我的问题是: - 我们是否有能力使用设计模式' Facade '以及观察者设计模式的情况.

现在我像这样实现' Facade ':

例如,我有一些实现一些计算的类.' Facade '类将我需要计算的所有类组合在一起.

例如,我有类A,B,C和Facade(包含A,B和C类).

当我想要计算某些东西时,我只需创建我的" Facade "并传递一些参数进行计算.在这种情况下,我不知道类A,B,C,这个Facade对象只提供了一个访问点.

此设计模式封装对象并简化应用程序.

这是正确的实施吗?

小智 7

Facade被定义为一系列接口的统一接口 - 一种更高级别的接口,以降低复杂性.而不是处理几个类,并知道每个类的API减少到外观.你的解释看起来不错.


Dev*_*pex 7

另一个实现门面模式的好例子 - 披萨呼叫服务.例如,披萨服务(子系统)非常大,它由三个部门(接口)组成:订单部门,折扣部门,交付部门.每个部门都有自己的逻辑和接口.您可以简单地在其上实现外观模式. 这里有更详细的例子.