日期:2014-05-17  浏览次数:20468 次

到底是为什么要三层设计?
刚学ASP。一直想不明白,为什么要三层设计?

最前面是UI,中间是业务逻辑,下面是数据库接口。看起来好像很好。

但是一般都是这样的项目:前面的UI有个地方,显示数据库表里面的某个字段。

现在这个字段的名称变了,那么——项目里所有相关的地方都要改啊。

------解决方案--------------------
你的分层是失败的。业务逻辑层应该和表结构分离了。更何况是界面呢。
------解决方案--------------------
数据库表字段名称更改了

一般情况下只需要修改model层和DAL的SQL语句字段而已
------解决方案--------------------
一般来讲,现在很多代码都模版生成的,如果,代码变了,把模版再改一下,问题也不大

如果一些业务逻辑性很强的代码
建议使用强类型传值之类。这样一旦字段名称或是属性改变,编译器能找你找出一些错误。
------解决方案--------------------
好的分层只改UI和DAL即可,BIL面对的是业务抽象,他不关心对象里有多少属性(除非这个属性本身对这个业务逻辑有影响)
------解决方案--------------------
简单来讲就是改动其中1层,其他两层不关联。
就说你把数据层原来是mssql 的 换成mysql的,第一层UI层 和第二层业务逻辑层都没啥关系。

分几层随便你,你觉得方便就好了!