我是事件驱动开发的新手,当我尝试实现应该通过核心/UI 边界的事件时,我感到迷茫。
在我的程序中,我有以下内容(c# 中的示例):
UI.RuleForm Core.RuleList UI.ResultForm
Cell 1 Rule 1
Cell 2 Rule 2
Cell 3 Rule 3
我想要的是:当一个RuleForm
单元格发生变化时,它会更新RuleList
. 并且当RuleList
发生变化时,resultFrom 将从规则中重新计算。
我目前的想法是,为了保持核心逻辑与UI逻辑分离(即核心应该对UI一无所知),核心应该只生成事件,而不是处理其他人生成的事件。
所以我必须创建某种UI.RuleListWrapper
可以处理RuleForm
更改事件的方法,更新Core.RuleList
. RuleList
在术语应该触发可以使用的OnChange
事件。UI.ResultForm
总而言之,我的问题是:
我想知道我的推理和有目的的实现是否可以,这可能意味着:核心模块是否应该能够处理由外部 UI 生成的事件 我的分离是某种“我的恐惧症”,还是以前做过。还有其他更好的方法吗?