我的应用程序包含以下三个模块:
(每个对象都是我可以在画家中编辑的图形。)
当我在画家中打开一个物体时,它被添加到已经在画家中的物体中,我可以移动它并改变它。
我正在使用类似于EventAggregator的对象来在模块之间进行通信。例如,为了显示搜索结果,我发布了一个由List模块捕获的“ShowList”事件(我不确定这是执行此操作的最佳方式,如果有人有更好的想法请注释...)。< / p>
搜索模块的一个功能要求它在画家中获取所选对象(如果画家可用),并且我不确定这样做的最佳方法是什么......
我想到了这些解决方案:
每当画家中选定的对象发生变化时,它都会发布一个“PainterSelectedObjectChanged”事件,该事件将被搜索模块捕获并存储起来供以后使用。
当搜索模块需要所选对象时,它将发布一个“RequestingPainterSelectedObject”事件,该事件将由painter模块捕获。然后,painter模块将在EventArgs对象中设置“SelectedObject”属性,当发布完成并且我们回到搜索模块中时,我们将在EventArgs对象中使用画家选择的对象。
答案 0 :(得分:0)
我会说,选项A.这听起来像是非常通常的场景,也许我并没有完全理解它作为一个整体。 :)
答案 1 :(得分:0)
我会说,选项B.这听起来很平常,也许我并没有完全理解它。 :)