过度封装:Facade模式应该只提供对子系统的简化接口,而不应该过度封装子系统的功能,否则会使Facade变得庞大复杂,违背了简化接口的初衷。
违反单一职责原则:Facade应该只负责为客户端提供简化接口,而不应该包含过多与子系统相关的业务逻辑,否则会导致Facade承担过多的责任,违反单一职责原则。
违反开闭原则:如果Facade频繁变动并需要修改时,可能会导致Facade模式引入的变更波及到子系统的多个模块,违反了开闭原则。
与子系统耦合度过高:如果Facade与子系统之间的耦合度过高,使得对子系统的修改会直接影响到Facade,那么Facade模式的作用就会被削弱,甚至失去意义。
过度依赖Facade:如果客户端过度依赖Facade,导致所有与子系统相关的操作都通过Facade进行,可能会使得系统的结构变得僵化,不利于扩展和维护。