我在Visual Studio C#.NET解决方案中有类似以下设置:
项目1 - TrainDisplay - 显示列车到达的WinForms应用程序。
项目2 - TrainFetcher - 是一个可重复使用的类库,用于获取有关火车的数据。
项目3 - TrainsDataModel是一个数据模型,包含所有其他项目共有的类,例如Train.cs,TrainRoute.cs等。
每个都有以下参考:
项目1:参考文献2和3
项目2:参考文献3
以这种方式使用引用是不是很糟糕;即项目1最终是否有两个对项目3的引用;一个直接,一个通过项目2?
答案 0 :(得分:5)
本身并没有错,编译器会做The RightThing®。
但它可能表明设计不太好。
尝试以这样的方式设计三个层,即2仅依赖于3,而1仅取决于2。
编辑:最后一句不清楚。我的意思是:“设计三个层,以便您的业务对象只需要引用数据访问代码,并且UI只处理业务对象”。
最终,正确的方法取决于您的架构(使用ORM与手动发布查询,Active Record与Mapper等)。