在经典的Facade模式中,单个对象通常为更复杂的对象提供简化的界面。

正如“四人帮”所说的(尽可能接近“官方”……):







或者,如Unmesh所述,将其放在https://stackoverflow.com/a/5242476中:



单一责任原则建议我们



每个叔叔鲍勃(http://en.m.wikipedia.org/wiki/Single_responsibility_principle)

鉴于外观设计使用户免受众多“变化原因”的影响,这两个想法如何协同工作? Facade进行更改的理由不如其实现所依赖的子系统数目那么多吗?

最佳答案

基本上,如果您的 Facade 类实现了依赖倒置原则(它依赖于抽象,而不依赖于具体的实现),则将来无需修改它。

异常(exception)-如果存在错误或需要更改Facade的业务逻辑(例如,其封装的子系统之间的交互)。但这不是违反SRP的行为。

顺便说一句,似乎在引言中隐式提到了它:

10-07 18:15