想象一下,在使用命令模式时,我有很多不同的命令(> 30条),现在它们中的大多数都非常相似,但它们取决于执行后的答案(在晚餐示例中,服务员需要客人的反馈,他们是否得到了正确的晚餐)。
现在,我基本上可以通过将与答案相关的业务逻辑外包给外部对象,从而大大减少命令和接收方的数量,客户端在创建命令时设置该对象,然后将其转发给接收方。(对那句话很抱歉)
现在,这是否有意义,或者我应该为每种类型的命令创建不同的接收方和命令,并在其中打包业务逻辑,与生成的响应有关。
我认为这两者在某种程度上都是有意义的,因为从本质上说,这些命令实际上是不同的东西,对它们同样的处理只是一种抽象。但是,它会将“应答逻辑”与命令和/或其接收方结合起来,并且会用许多大多数类似的类来污染应用程序。
什么是最优雅的方式(如果有类似的东西存在),去做这件事?
发布于 2017-08-22 22:59:57
您应该选择导致最简单、最小数量的代码的解决方案。这可能是你所想到的设计,尽管它在你的问题中的表达并不完全清楚。您应该为您的特定需求选择最简单的解决方案,而不管您收到的任何通用设计建议。
通常,软件工程平台中的问题都是对特定问题的通用解决方案,而不是特定问题的具体解决方案。最简单的解决方案总是针对这个问题。
https://softwareengineering.stackexchange.com/questions/356114
复制相似问题