gpt4 book ai didi

c# - MVVM 和避免 Monolithic God 对象

转载 作者:太空狗 更新时间:2023-10-29 18:30:22 63 4
gpt4 key购买 nike

我正处于一个大型项目的完成阶段,该项目包含多个大型组件:图像采集、图像处理、数据存储、工厂 I/O(自动化项目)和其他几个组件。

这些组件中的每一个都相当独立,但为了让项目作为一个整体运行,我至少需要每个组件的一个实例。每个组件还有一个 ViewModel 和 View (WPF),用于监视状态和更改内容。

我的问题是实例化所有这些对象、将一个类订阅到另一个类中的事件,并为所有这些使用通用的 ViewModel 和 View 的最安全、最有效和最可维护的方法。

如果我有一个名为 God 的类,它拥有所有这些对象的私有(private)实例,会不会更好?我过去曾这样做过并为此感到后悔。

或者如果上帝依靠这些对象的单例实例来启动球会更好吗。

或者,Program.cs(或者 Main(...) 所在的任何地方)是否应该实例化所有这些组件,并将它们作为参数传递给上帝,然后让上帝(窃笑)和他的 ViewModel 处理运行这个的细节项目。

我希望听到的任何其他建议。

谢谢!

最佳答案

看看一些依赖注入(inject)框架,例如 Unity(CAL 使用)、CaSTLe Windsor 或 Spring.NET。

关于c# - MVVM 和避免 Monolithic God 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2951301/

63 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com