我不会描述项目细节或我正在使用的框架,因为问题更为笼统。
在用户界面和逻辑之间创建灵活交互的最佳方式是什么。 我正在努力,因为事实证明我必须让一些功能可供用户通过某些ui进行更改,但该功能的代码位于代码的深处,所以我必须进行大量的重构。
在这种情况下你的做法是什么?也许建模基于事件的系统来调度/处理事件?就我而言,要求经常发生变化。
答案 0 :(得分:5)
基本上:
* UI不应该调用BL。
* UI应该引发事件(或者更好的是,使用命令)
* UI-raised-events /命令应在UI外部处理并调用BL
* BL不应该调用UI
*修改后的数据应该引发事件,BL应该引发事件
* UI应该知道如何呈现数据(最好使用组合来呈现任何类型的数据,而不是整个UI依赖于不变的数据类型)。
* UI应该刷新事件。
答案 1 :(得分:0)
这实际上取决于您的应用程序。如果它是一个web应用程序,那么您正在使用的框架可能有一些关于如何将UI代码与商务逻辑(例如Spring @MVC)连接起来的最佳实践。
另一方面,如果您正在编写桌面应用程序,我通常使用obserever / observable模式让我的UI代码得到对底层模型的任何更改的通知。同样,使用方法因应用程序的上下文而异。