我有一个(设计)应用程序,基本上是这样工作的:
Main类、BusinessLogic类、UserInterface类
BusinessLogic和UserInterface被设计成类似于库--不是持续开发的,而是供开发人员使用的,比如说,类Main。
BusinessLogic的构造函数还实例化了UserInterface,它将显示一个基于文本的菜单并接受终端输入。根据该输入,它将通过调用其各自BusinessLogic对象的相关方法来执行相关功能。
但是,这是一个循环引用,UserInterface没有明显的方法来调用其各自的BusinessLogic对象(没有硬编码的BusinessLogic对象标识符,但这是更糟糕的做法!)。
对我来说,这确实是一个合乎逻辑的设计,但很难用编程的术语来实现。
我考虑的一个替代方案是让UI简单地将输入数据返回给BusinessLogic的构造函数,但我不希望BusinessLogic处理输入分析,UI似乎是一个明智的选择。
有什么想法吗?
发布于 2009-04-10 22:19:05
你应该试试Model-View-Controller pattern。在您的情况下,模型和控制器可能最终是相同的。通过接口将类彼此隔离,然后在外部创建这些类(在您的示例中是从Main创建的)将简化每个人的生活。
发布于 2009-04-10 22:33:33
这听起来像是您可能想要使用模型-视图-控制器模式。
此外,如果您希望减少部件之间的实例化依赖关系,则可能需要考虑像使用Spring一样使用dependency-injection。
https://stackoverflow.com/questions/739035
复制相似问题