为什么要有业务逻辑层??我直接调用数据访问层不就得了吗?
从两个方面考虑:性能和安全会不会受影响?
感觉业务逻辑层很麻烦,觉得没必要,我向来做项目都是只写数据访问层。虽然老师让我们写它,但他有时候也不写业务逻辑层。。。
如果不写
性能 和 安全 受什么样的影响?
------解决方案--------------------分层的目的是就是松耦合高内聚,维护起来也方便。
你们现在做的没多少业务逻辑要处理,所以你觉得没用,但是在你工作了以后遇到的有些大项目必须得有业务逻辑层,因为有好多业务方面的算法等等要处理,比如说我业务逻辑层的算法有问题了,我就没必要去动表现层和数据访问层,我只需要把业务逻辑层修改好了打包替换以前的dll就可以了,这样就不影响以前发布的。
你如果只写两层(表现层,数据访问层)也可以,有些项目的业务逻辑没多少所以就直接两层,比如我们现在做的ERP,它把业务逻辑处理都放到了存储过程里,我当时也做过一个大型的电子商务网站,它的业务逻辑层里面几乎没啥东西就起了个桥梁作用。我做的大项目不是很多,所以道行浅,不能给你说出一些实质性的问题,所以我觉得需不需要就要根据项目的实际情况了。
------解决方案--------------------
我不太清楚你所谓的业务逻辑层具体是指什么样的设计思想。但是有很多所谓的BLL是对DAL简单的封装,那个东西根本没有必要写。这个时候,等于根本没有搞清楚如何设计业务逻辑层,此时就算是有个叫做BLL的一大堆代码那么其实也没有分层所带来的那种灵活性。
------解决方案--------------------因为你只提“业务逻辑层”这个词儿,我无法判断你的老师给你说的是什么例子。
比如说我们设计一个企业协同系统,需要1000多人进行100多种业务,每种业务可能有6、7个更具体的活动,这些业务还会自动衔接起来,而最为关键的是这些业务的具体表单需要用户(实际上是一两个懂一点开发的维护人员啦)自己去定义、去画出和配置工作流图,那么我们所编写的就是一个工具平台,而不是那100多种业务、700多种“增删改查”画面。
而有些人,仅仅会根据一个或者两个数据库表来写出一个增删改查界面。仅仅如此,也在“做项目”(其实那种拿项目的公司是靠老板个人关系),那么这种项目就近需要招聘几十个学生可能就够了(但愿够了)。