我有一个处理发货数据的WPF mvvm应用程序,这包括将其分解为项目和形式代码等。全球数据真的那么糟糕?
但是,我现在面临的问题是需要了解众多的viewmodels,哪些项目目前已被选中,该形式等等,以及可以访问从数据库中提取的诸如项目之类的数据列表。
现在这个数据被加载,更新,删除和插入通过我称为存储库的类。比如ProjectRepository,我的计划是将加载的数据存储在这些类中,因此它将包含一个List(其中项目是我的模型),它将公开访问,而这些存储库是静态的。
所以问题归结到这一点,Proformas基于当前选定的项目(通过来自数据库的projectID)加载,因此存储库需要知道选择了哪个项目。我目前的系统使用了自定义事件,这些自定义事件也是为了捕获项目选择中的变化而订阅的,但是对于我来说,现在我有几十个事件,每个事件都有几十个订户,并且坦率地说,这使得它很难按照代码。
所以,对于大量的文本抱歉,我想说清楚我的情况是什么,并提出我所知道的问题似乎会使一些人感到愤怒。有一个静态类只是为所有当前选定的对象(项目,形式表示,装运等)保留属性有什么问题,这将使我的生活变得更容易。
或者有没有一种“正确”的方式做到这一点,我还没有看到?
投票似乎有点超过顶部? – BenjaminPaul
我一直问。正如“嗨,VMA,这是VMB。您对财产XYZ的当前价值是多少?” “富”。 “好的,当你Foo I Bar(),Kthxbai!”当然,VMA需要参考VMB,但是由于它们根据其逻辑需求彼此交互,这有什么坏处? – Will
这实际上是我从未想过要做的事情。我想这种方法似乎没有错,除了一些虚拟机需要引用多个其他虚拟机,并且可能会变得混乱。 – Ben