【发布时间】:2009-04-10 22:14:59
【问题描述】:
我有一个(设计的)应用程序,基本上可以像这样工作:
Main 类、BusinessLogic 类、UserInterface 类
BusinessLogic 和 UserInterface 设计为类库 - 不是持续开发,而是由开发人员在 Main 类中使用。
BusinessLogic 的构造函数还实例化了 UserInterface,它将显示基于文本的菜单并接受终端输入。根据该输入,它将通过调用其各自 BusinessLogic 对象的相关方法来执行相关功能。
但是,这是一个循环引用,并且 UserInterface 没有明显的方式来调用其各自的 BusinessLogic 对象(没有硬编码的 BusinessLogic 对象标识符,但这是更糟糕的做法!)。
这在我看来确实是一个合乎逻辑的设计,但在编程方面很难实现。
我考虑的另一种选择是让 UI 将输入数据返回给 BusinessLogic 的构造函数,但我不希望 BusinessLogic 处理输入分析,UI 似乎是它的明智之选。
有什么想法吗?
【问题讨论】:
-
“BusinessLogic 对象标识符硬编码”是指将“父”BusinessLogic 作为 UserInterface 中的字段?