Swift World:设计模式-外立面

从字面上看,立面意味着

建筑物的正面,尤其是可望向街道或开放空间的主要正面。

来自Facade — Google搜索

类似地,当设计模式立面定义到复杂子系统的更简单接口时。 例如,在我们的汽车制造厂,我们有不同的部门来生产不同的组件,例如引擎,车身和配件。 作为客户,我们不在乎每个部门如何完成自己的工作。 我们只是创建一个工厂实例并使它工作。

class Engine { 
func produceEngine () {
print ("prodce engine")
}
}
 class Body { 
func produceBody () {
print ("prodce body")
}
}
 class Accessories { 
func produceAccessories () {
print ("prodce accessories")
}
}

因此,我们构建了一个外观以提供一个简单的界面。

 class FactoryFacade { 
let engine = Engine ()
let body = Body ()
let accessories = Accessories ()
 func produceCar () { 
engine .produceEngine ()
body .produceBody ()
accessories .produceAccessories ()
}
}

然后直接使用工厂。

 let factoryFacade = FactoryFacade () 
factoryFacade .produceCar ()

结构图很清楚。