例如,我在这个模块中为Prism制作了一个模块,有2个文件夹模型和服务。 在模型文件夹中我描述了Car类。 现在我想使用Factory创建一个Car类的实例。 题。如何正确地做到这一点。
我想到了两个变种。
1)创建新文件夹Infrastructure并添加CarFactory类。
2)创建一个服务CarService并使用它来创建Car类的实例。
答案 0 :(得分:0)
使用Prism也使用的服务定位器。这通常是Unity或MEF。
答案 1 :(得分:0)
我更喜欢后一种方法。这使我们能够更好地隔离我们的组件。如果您的ViewModel接受ICarService,您可以轻松地模拟它,并且在测试 时可以模拟ICarService实现的任何依赖项。
这很容易理解,这是一个比典型工厂更多逻辑的好地方。例如,我们会将您通常放在Repository上的方法放在那里。 (保存,获取等)。