日期:2014-05-18  浏览次数:20500 次

关于三层的理解
有网友说过,学习标准三层结构,PetShop是最好的教材,今天下了个 PetShop4.0 看了一下,我对三层的理解是:
在SQLDAL层中:所有查询的数据都要放进 数据模型model 中,即IList<CategoryInfo> categories = new List<CategoryInfo>();如果是只有一条数据,那么只是返回一个数据模型,如果有多条即返回一个列表模型.然后再把这个模型返回给bll层,bll层再返回表示层ui

如果是 SQLDAL层返回BLL层的数据是DataTable 或者是 SqlDataReader,也就是说不用将DataTable ,SqlDataReader的数据转换成数据模型model ,那这算三层吗?

在三层结构中,为什么一定要将DataTable ,SqlDataReader的数据转换成数据模型model 然后再返回给bll层呢?而不使用直接将查询数据SqlDataReader返回给bll层,请高手解释一下可以吗?



------解决方案--------------------
实际用起来有多少能够那么的按部就班? 还是看实际需求多点 
PetShop是经典却并非公式
------解决方案--------------------
用model就是为了面向对象 
说实在在的 
3层在开发效率 使用效率 维护 编码难度上都大大加大了 
3层很炫 但是’一般‘的项目有必要3层吗 非指大型项目
我觉得2层足以
------解决方案--------------------
三层的是 
数据访问 类dao 方法select insert update delete 
业务逻辑 类business 处理逻辑,调用dao的方法取数据,然后处理 
表示层 web画面,调用business类的方法,得到按逻辑处理过的数据,显示在画面上 


返回的可以是model(数据实体类),也可以是datatble,dataset数据集合等啊

这个根据需要