关于三层架构的理解

前段时间学习三层架构,有些东西想不通,就每天上网查资料、看CSDN,有时候好不容易找到了理论依据,过几天突然又被其他的理论给推翻了。现在感觉又有了更有力的理论依据,突然不知道以前的理解是咋想的了。以前老是纠结于在数据访问层放入复杂查询,如多表查询、条件查询等是否会泄露业务层的逻辑。于是在网上找寻资料,百思不得其解,总觉得将复杂查询放入数据访问层违背了面向对象的思想,觉得多表查询是参与了多个实体的操作。终于在今天对三层架构有了更好的理解。

在此记录下我理解的的三层架构设计方式。首先在进行系统分析的时候,要经过反复研究,抽象出基本实体,然后再根据这几个实体生成数据表,想当然的做法是将实体与数据表一一对应,这种方法对面向对象的系统来说是毫无影响的。但是这是有被与基于数据库的存储理论,数据存储要求数据表尽量简洁,如果按照实体与数据表一一对应的话,那样会存在很多的冗余数据。所以将实体转化成数据表的过程需要将实体分割。设计完成实体,我们就可以开始设计数据访问层了,想了一下,以前之所以混乱的原因可能是没有理解数据访问层的作用,数据访问层的作用就是生产出需要的实体,至于方法的话可以通过SQL实现也可以通过linq实现,只要达到生产出所需要的实体或者实体集合就可以了。弄清了数据层的作用,对业务层的理解也就简单多了,业务层的作用就是讲数据层产生的对象进行组装,达到想要的功能,就如同将汽车车间生产出来的零件组装成一套系统,可能是一套动力系统。业务层做完就是讲做好的功能模块传递给视图层,视图层再将这些功能系统组装起来,做成完整品,就如同将组装成一辆车。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值