我正在努力分析我正在处理的问题。我处理清洁应用程序,在那里安排清洁,然后由一些企业完成,最后由房屋所有者控制。
当企业完成其任务时,它必须向应用程序发送命令,告诉:
每个都可能使用不同的信息。所以我考虑使用3个不同的命令对其进行建模,而不是仅使用一个并添加状态。
但是复杂程度要高一级,因为企业可能会执行3种主要的清理工作,并且可能会对这些命令添加不同的内容(例如:要清理的座位数,或者区域和描述)。
就这一点而言,我已经处理了9个案例。我觉得将所有这些分离是正确的方法,因为它可以在未来实现更大的灵活性。
但我是否正确地认为这三个是不同的东西,如果它们不仅仅是一个大命令:
我完全不喜欢将物体弄半满的想法,因为它涵盖了太多的东西..
感谢您的阅读和您的想法,
答案 0 :(得分:5)
您已经为解耦方法提供了一个很好的理由 - 关注点分离是一个很好的使用原则。
如果每个命令具有不同的含义,则应将其建模为不同的对象。
如果您将每个状态更改建模为不同的对象,那么您就可以获得事件日志,如果需要,可以使用event sourcing。
拥有一个带有(至少)8个参数的方法是代码气味 - 它告诉我方法做得太多,最终会变得非常复杂并且难以维护。