在经典的Facade模式中,单个对象通常为更复杂的对象提供简化的界面。
正如“四人帮”所说的(尽可能接近“官方”……):
和
或者,如Unmesh所述,将其放在https://stackoverflow.com/a/5242476中:
单一责任原则建议我们
每个叔叔鲍勃(http://en.m.wikipedia.org/wiki/Single_responsibility_principle)
鉴于外观设计使用户免受众多“变化原因”的影响,这两个想法如何协同工作? Facade进行更改的理由不如其实现所依赖的子系统数目那么多吗?
最佳答案
基本上,如果您的 Facade 类实现了依赖倒置原则(它依赖于抽象,而不依赖于具体的实现),则将来无需修改它。
异常(exception)-如果存在错误或需要更改Facade的业务逻辑(例如,其封装的子系统之间的交互)。但这不是违反SRP的行为。
顺便说一句,似乎在引言中隐式提到了它: