我正处于一个大型项目的完成阶段,该项目有几个大型组件:图像采集、图像处理、数据存储、工厂 I/O(自动化项目)和其他几个。
这些组件中的每一个都是相当独立的,但是要使项目作为一个整体运行,我至少需要每个组件的一个实例。每个组件还有一个 ViewModel 和 View (WPF) 用于监控状态和改变事物。
我的问题是实例化所有这些对象的最安全、最有效和最可维护的方法,将一个类订阅到另一个类中的事件,并为所有这些拥有一个通用的 ViewModel 和 View。
如果我有一个名为 God 的类,它拥有所有这些对象的私有实例,那会更好吗?我过去曾这样做过,并为此感到后悔。
或者如果上帝依靠这些对象的单例实例来让球滚动起来会更好吗?
或者,应该 Program.cs(或 Main(...) 所在的任何地方)实例化所有这些组件,并将它们作为参数传递给上帝,然后让他(窃笑)和他的 ViewModel 处理运行这个项目的细节。
我很想听听任何其他建议。
谢谢!