码迷,mamicode.com
首页 > 其他好文 > 详细

关于分层架构

时间:2020-05-10 13:14:10      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:实现   修改   views   删掉   分离   image   代码   前端   参数   

分层架构的由来

以Web开发为例子。

一开始,人们把前端代码+数据库操作+逻辑都写在一个文件中。

但是后来发现这样容易乱,于是开始分层。

主要有两种思想:

1是,页面只负责显示,后端负责逻辑。

2是,数据库操作,逻辑分离。

前者靠MVC实现。

后者靠三层实现。

单纯的MVC

在mvc中,

Controller负责接收view的参数;

调用Model处理;

然后讲结果返回给View。

Controller是前后联系的中介。

所谓的分离,其实就是把C当作统一的前后联系的中介。

把C的文件删掉,就算是真的分了。

---------------------------------------------------------------------------------
可以看出单纯用MVC的话,

Model一定是充血模型,

也就是既包含数据,

又包含对数据的操作。

因为C只是前后联系的中介。

再加上三层

这个时候,后端可以继续分出三层来了。

也就是将充血实体类,进一步拆成贫血实体类+BLL+DAL。

三层里的UI层实际就是mvc中的V和C。

技术图片

最后

MVC+三层分好以后,我们发现程序被分成了:

贫血实体+DAL+BLL+Controllers+Views

这样5个部分。

个人感觉

之前在学校的时候,我以为MVC和三层是一些过时的东西,因为听的频率高。

现在实际看了目前的一些java和C#的流行框架后,才知道这都是正在使用的东西。

通过网友的文章才知道,这些东西只是历史悠久,并不是过时。

有时候个人感觉就是这么奇怪,你以为事情是这样的,而事情实际却是那样的。

也许这就是生活的乐趣之所在!

我的开发习惯

贫血实体类+Controllers+Views。

如果真的有可重用的BLL或者DAL,我会提取出方法来的。

这样写:

1.不会有充血实体类的耦合性;没有三层的联级修改。

2.这样完全就是为了开发快速。写的有条理的话,其实改起来也不慢。

我最讨厌的是什么?我最讨厌的是麻烦。所以我习惯这种写法。 

关于前后端分离

前端主要工作是:展示数据,交互,调接口。

后端主要工作是:出接口,业务逻辑,数据库操作。

前后端分离在我看来是很好的一个东西。

因为我们说分了三层以后,我就可以把一个项目DAL换成另一种数据的,或者BLL里可以重用DAL的方法什么的。

但是现实中很少有真的换数据的,它给提供的重用也是比较有限的。

但是前后端分离真的是,有很多人都做了这样的实践。

最后

不管怎样。

多了解一些就好。

原理和技术了解的越多,选择就越多。

最终就越能做出符合实际的程序来。

 

关于分层架构

标签:实现   修改   views   删掉   分离   image   代码   前端   参数   

原文地址:https://www.cnblogs.com/fabao/p/12862807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!