1.框架搭建-Model、View、Controller分离

项目整体采用mvc+三层架构方式搭建

项目架构图示
在三层架构的基础上(view bll dal)将mvc的控制器(controller)、视图(view)和实体(model)分离成独立项目【mvc中使用area区域可对不同项目进行划分,但随着项目数量的增加会使得项目结构比较混乱,如下图所示原项目架构】
原项目架构
MVC中Model View Controller分离成独立项目学习借鉴于MVC4 Model View Controller分离成独立项目
在此不再演示如何实现Model View Controller的分离,仅分享个人的一些思考。


  1. 在MVC中,访问地址通过路由、区域路由进行约定。访问地址通过(区域)路由的解析进而访问到对应的(区域)控制器,并根据控制器是否访问视图来决定是否显示视图。以下三张图片展示了根据路由解析url和根据区域路由解析url
    根据主路由解析
    根据主路由解析
    根据区域路由解析
    根据区域路由解析
  2. 从前两张图可以看出主路由默认约定的controller为home,且该项目作为主项目。后两张图为主项目区域中的两个项目(admin、blog),从url中可以看出访问地址为区域名+区域控制器。由于在区域路由中指定了命名空间(namespace),则可寻找到区域下的对应控制器,如下图所示
    主程序路由
    子程序区域路由
  3. 在主项目程序中添加对子项目的引用从而实现通过主项目中利用区域与子项目进行交互,且子项目可只引用与其相关的项目从而实现项目与项目之间的分离(如可单独发布其中一个子项目而不影响其他子项目,这也是要改变原项目架构的主要原因),相互的引用关系如下图所示
    主项目添加对子项目的引用
    子项目中的引用关系

此项目为原项目的改版,依据个人近两年工作经验进行优化升级。由于经验尚浅,想法或观点如有不对的地方请给与指点,本文仅供参考。

博客系统线上展示地址为http://blog.zheyk.cn/article_iwz1807001.html(博客展示地址)

猜你喜欢

转载自blog.csdn.net/o527883184/article/details/79123086