我有一个(设计)应用程序,基本上可以像这样工作:

Main类,BusinessLogic类,UserInterface类

BusinessLogic和UserInterface的设计类似于库-并非持续开发,而是由开发人员在Main类中使用。

BusinessLogic的构造函数还实例化UserInterface,它将显示基于文本的菜单并接受终端输入。基于该输入,它将通过调用其各自BusinessLogic对象的相关方法来执行相关功能。

但是,这是一个循环引用,UserInterface没有明显的方法来调用其各自的BusinessLogic对象(没有硬编码的BusinessLogic对象标识符,但这甚至更糟!)。

在我看来,这确实是一种逻辑设计,但是很难用编程的方式来实现。

我考虑的一种替代方法是让UI将输入数据返回给BusinessLogic的构造函数,但是我不希望BusinessLogic处理输入分析,UI似乎是明智的选择。

有任何想法吗?

最佳答案

您应该尝试Model-View-Controller pattern。在您的情况下,模型和控制器的最终结果可能相同。通过接口将您的类彼此隔离,然后在外部创建类(在您的示例中为Main)将简化每个人的生活。

07-24 18:28