page contents

外观模式和命令模式的区别

Pack 发布于 2020-03-16 14:37
阅读 2413
收藏 0
分类:设计模式

Java小白求救,外观模式和命令模式有什么区别,它们都是把复杂逻辑屏蔽,只对外提供一个接口。具体要怎么分辨这两个模式呀!

最佳答案 2020-03-24 17:10

540
Pack
Pack

1.外观模式是结构型模型,命令模式是行为型模型。
2.外观模式关注类如何组合聚合来解耦,命令模式关注方法间的通信来解耦。
3.外观模式主要为了简化操作。封装内部,不符合开闭原则,新增需要修改外观类。命令模式主要为了发送方接收方解耦,符合开闭原则
4.控制粒度不一样。还是用遥控器来举例,命令模式像一个多按钮的遥控器,每个按钮是一个命令,调用方使用某些按钮进行开关操作,并且还支持等待执行的行为。命令模式能细粒度的控制每个按钮的执行顺序,执行是否撤回。而外观模式则是更像遥控器上只有一个按钮,而这一个按钮执行多个设定好顺序的开关操作。并且中间不能撤回。外观模式无法穿透外观类(或接口)去细粒度的控制内部的执行顺序或某些特殊的逻辑。
命令模式控制内部细节操作,外观模式控制整体操作。

个人总结观点。如果不对。请指正。

请先 登录 后评论