从以下关于棱镜的指南和阅读手册,似乎一般过程是创建一个包含视图,视图模型和模型的模块。然后使用viewmodel挂起视图并使用视图模型与模型进行交互。
但是我有一个模型数据结构,需要跨多个不同的模块使用。比如,这个模型叫做Car。我有3个模块,ModuleA,ModuleB和ModuleC都需要使用Car。如果它刚刚在ModuleA中使用,我显然会把它放在ModuleA的Model文件夹中。但由于它在几个模块中使用,我在哪里放汽车?
答案 0 :(得分:2)
您可以将它放在基础结构项目中(由所有模块引用)或创建一个您将在所有模块中引用的共享库项目。
答案 1 :(得分:2)
将它放在一个单独的程序集中,该程序集将被需要它的所有其他程序集引用。 这不是因为你正在使用棱镜,突然之间良好的实践规则已经改变了。如果您愿意,可以使用MEF或Unity导出Car的实例(或单个共享实例)。或者更进一步,并声明一个接口ICar并让你的模块直接使用它而不是Car。