关于棱镜的问题4

时间:2011-07-17 17:20:05

标签: c# design-patterns prism

例如,我在这个模块中为Prism制作了一个模块,有2个文件夹模型和服务。 在模型文件夹中我描述了Car类。 现在我想使用Factory创建一个Car类的实例。 题。如何正确地做到这一点。

我想到了两个变种。

1)创建新文件夹Infrastructure并添加CarFactory类。

2)创建一个服务CarService并使用它来创建Car类的实例。

2 个答案:

答案 0 :(得分:0)

使用Prism也使用的服务定位器。这通常是Unity或MEF。

答案 1 :(得分:0)

我更喜欢后一种方法。这使我们能够更好地隔离我们的组件。如果您的ViewModel接受ICarService,您可以轻松地模拟它,并且在测试 时可以模拟ICarService实现的任何依赖项。

这很容易理解,这是一个比典型工厂更多逻辑的好地方。例如,我们会将您通常放在Repository上的方法放在那里。 (保存,获取等)。