過度封裝:Facade模式應該只提供對子系統的簡化接口,而不應該過度封裝子系統的功能,否則會使Facade變得龐大復雜,違背了簡化接口的初衷。
違反單一職責原則:Facade應該只負責為客戶端提供簡化接口,而不應該包含過多與子系統相關的業務邏輯,否則會導致Facade承擔過多的責任,違反單一職責原則。
違反開閉原則:如果Facade頻繁變動并需要修改時,可能會導致Facade模式引入的變更波及到子系統的多個模塊,違反了開閉原則。
與子系統耦合度過高:如果Facade與子系統之間的耦合度過高,使得對子系統的修改會直接影響到Facade,那么Facade模式的作用就會被削弱,甚至失去意義。
過度依賴Facade:如果客戶端過度依賴Facade,導致所有與子系統相關的操作都通過Facade進行,可能會使得系統的結構變得僵化,不利于擴展和維護。