我不确定我是否使用“标准”术语,但这是我试图解决的一个基本的面向对象问题。
我正在编写一个 Windows 窗体。我不需要表单事件处理程序中的逻辑,因此我只需从那里调用自定义对象。
在自定义对象中,有两组逻辑。
- “控制器”逻辑,决定需要完成什么以及何时完成。
- 执行需要完成的操作的实际业务逻辑(例如执行数学运算并返回结果的控件等)。
我的问题是,面向对象架构是否允许将这两者放在一个对象中?或者是否建议将它们分成“控制器”对象和“业务逻辑”对象?有没有我应该参考的设计模式?
目前,我已经开始将它们组合成一个对象。该对象有一个包含控制器逻辑的“start”方法。该方法然后根据需要调用该对象的其他方法,并最终将结果返回给该对象的调用者。
您正在做的是一种“胖控制器”架构。如今,软件开发正趋向于瘦控制器。
OO 设计就是解耦。如果您只内化了面向对象编程的一件事,那就这样吧。
查看 ”领域驱动设计Quickly这本免费电子书是对 Eric Evans 的重要著作《领域驱动设计》中所涵盖概念的浓缩介绍。
了解这些概念应该可以帮助您了解如何将业务逻辑与控制器或服务层分开。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)