定义:
通过引入一个外观角色来简化客户端与子系统之间的交互,为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度。
设计图:
设计图.png使用地方:
- Tomcat中很多地方都有用到这种模式:
RequestFacade、ResponseFacade、ApplicationContextFacade、StandardWrapperFacade
因为tomcat里面有很多组件化的封装,组件和组件之间也是需要通信的,自然而然的外观模式就会派上用场...
总结:
个人理解,外观模式其实更多的是一种思想,代码其实没什么复杂的。就是在客户端和复杂子系统之间再加一层,用来屏蔽掉子系统的复杂性,尽量做到子系统变化对客户端无感知。今天听到有人说了一句话:其实写代码没有什么挑战难度,难得设计。其实这句话只说对了一半,那就是后半句,设计确实不容易,特别是设计一个高可用、可扩展、高性能的架构是难上加难......这需要一个人慢慢的积累,才会达到这个高度,前提是要用心积累。说代码没有什么挑战难度,感觉不可取,我们要对代码有敬畏之心,才能越走越远......
网友评论