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 ()
结构图很清楚。