大家好,我对分层开发过程很陌生.我正在开发一个应用程序,我对当今技术的最佳实践/架构问题有一些基本问题.我将使用WCF作为服务层.请注意,我试图尽可能地分解事物.我不希望上层中的任何东西必须知道较低层中的任何内容,这是我不喜欢LINQ TO SQL或实体框架的原因之一.
1)在层之间传递数据的最佳方法是什么?我知道数据集或数据表都很容易但我不认为在层之间传递这种膨胀的数据结构将是最好的解决方案.如果数据表/数据集很大,调试也会更难.也许一系列POCO对象是最好的解决方案还是有更好的方法?
2)下一个问题有点棘手.很多应用程序都会有一堆不同的数据视图.您可能有多个报告,各种数据网格,也许还有一两个图表.您如何为此设计数据层?您是否只为每个表设计了一个"获取"类型函数,然后尝试将它们组合成有用的视图,例如您的商务层中的网格或报表,或者您是否在商务层中为每个视图配备了专门的功能.
说实话,我不喜欢任何一种解决方案.如果您决定每个视图的专用逻辑,那么您需要为每个视图创建一个POCO对象(假设您将返回一个POCO对象数组).如果您稍后决定需要向其中一个视图添加更多列,那么您将破坏现有代码(因为您更改了POCO上的界面).如果您决定返回每个表的视图并尝试将其组合在商务层中,那么可能会非常混乱.TSQL加入有一个原因:).您也可能需要返回更多数据,这取决于您的设计效率低下.
我还有一些问题,但我会把它保存到以后.我不希望这篇文章变得很大:)
NCAGE