如何连接UI和业务逻辑

时间:2011-04-27 18:43:42

标签: java oop design-patterns user-interface

我不会描述项目细节或我正在使用的框架,因为问题更为笼统。

在用户界面和逻辑之间创建灵活交互的最佳方式是什么。 我正在努力,因为事实证明我必须让一些功能可供用户通过某些ui进行更改,但该功能的代码位于代码的深处,所以我必须进行大量的重构。

在这种情况下你的做法是什么?也许建模基于事件的系统来调度/处理事件?就我而言,要求经常发生变化。

2 个答案:

答案 0 :(得分:5)

使用MVx设计模式,例如MVCMVPMVVM

基本上:
* UI不应该调用BL。
* UI应该引发事件(或者更好的是,使用命令) * UI-raised-events /命令应在UI外部处理并调用BL * BL不应该调用UI *修改后的数据应该引发事件,BL应该引发事件 * UI应该知道如何呈现数据(最好使用组合来呈现任何类型的数据,而不是整个UI依赖于不变的数据类型)。
* UI应该刷新事件。

答案 1 :(得分:0)

这实际上取决于您的应用程序。如果它是一个web应用程序,那么您正在使用的框架可能有一些关于如何将UI代码与商务逻辑(例如Spring @MVC)连接起来的最佳实践。

另一方面,如果您正在编写桌面应用程序,我通常使用obserever / observable模式让我的UI代码得到对底层模型的任何更改的通知。同样,使用方法因应用程序的上下文而异。