7

我在 Visual Studio C# .NET 解决方案中有类似以下设置:

项目 1 - TrainDisplay - 用于显示火车到站的 WinForms 应用程序。

项目 2 - TrainFetcher - 是一个可重用的类库,用于获取有关火车的数据。

项目 3 - TrainsDataModel 是一个数据模型,包含所有其他项目共有的类,例如 Train.cs、TrainRoute.cs 等。

每个都有以下参考:

项目 1:参考文献 2 和 3

项目 2:参考文献 3

以这种方式使用引用是不是很糟糕?即项目 1 是否以两个对项目 3 的引用结束;一个直接,一个通过项目 2?

4

1 回答 1

5

这本身并没有错,编译器会做 The Right Thing®。

但这可能表明设计不太好。

尝试以这样的方式设计三层,2 只依赖于 3,而 1 只依赖于 2。

编辑:最后一句话不清楚。我的意思是:“设计三层,使您的业务对象只需要引用数据访问代码,并且 UI 只处理业务对象”。

最终,正确的方法实际上取决于您的架构(使用 ORM 与手动发出查询,Active Record 与 Mapper 等)。

于 2012-06-25T08:20:01.257 回答