zoukankan      html  css  js  c++  java
  • 关于分层架构

    分层架构的由来

    以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个部分。

    我的开发习惯

    我自己一个人写个小项目,分个前端和后端就够用了。

    也就是:贫血实体类+Controllers+Views

    我觉得:

    1.分三层主要是为了分工合作。没有那么多人写还硬要分很多层的话,反而更麻烦。 

    2.不想有三层的联级修改。

    3.依靠习惯,可以把纯逻辑的方法分出来写。 

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

  • 相关阅读:
    WIKI 配置参数
    SSH远程错误或者登录解决方法
    Mysql my.conf配置说明
    Mysql 常用命令
    Nginx 开机启动
    排序的总结
    strcpy函数实现(转载)
    函数指针传递
    地址的强制转换
    结构体内存对齐
  • 原文地址:https://www.cnblogs.com/fabao/p/12862807.html
Copyright © 2011-2022 走看看