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