外观模式-设计模式
外观模式是将client端要调用的多个接口封装到一个Face类中,Face类封装了内部系统且作为该系统对外提供功能的接口,为client提供一个一致的界面,简化client调用系统接口步骤,使得系统易于使用,减低复杂度,控制bug数,节省学习成本。Face类通过组合现有子系统的接口方法完成一个对外提供功能点,不是通过新增方法。外观模式为client端调用系统功能提供了一个缺省的功能实现,如果Face类提供的功能不能完成需求,这个时候就需要client自己来组合子系统方法完成功能点。外观模式是对现有功能的组合,不新增新方法,避免理解混淆,Face功能定义不清晰,遵循单一职责原则。
Client --> Face-->(Ainterface-->AinterfaceImpl,Binterface-->BinterfaceImpl)
一般在client要通过组合多个子系统功能来完成一个功能点时使用,如果多处调用,效果更佳。例如:代码生成器-生成model+business+dao,资源加载和处理流程。低耦合的好处是对Face内部已经子系统内部的修改不会影响到client端的调用。
外观模式:是从架构的层次观察整个系统,封装子系统方法创建高层接口,使得系统易于使用,世界变得清新和美好。
PS: 最好的技术和理论是学习成本低的技术和理论,是大家都学会的技术和都能理解的理论。