ASP.NET没有魔法——ASP.NET MVC & 分层 代码篇
2017-10-11 14:20
351 查看
上一篇文章对如何规范使用ASP.NET进行了介绍,本章内容将根据上一篇得出的结论来修改博客应用的代码。
○ 模型:代表应用程序中的数据模型,与数据库表结构对应。同时也作为MVC与逻辑层之间的数据交换对象(后续会使用DTO代替)。
○ 仓储:用于管理数据增、删、查、改。
○ 逻辑:用于处理业务逻辑,一般来说是根据应用层提供的数据来驱动业务执行,业务逻辑会使用仓储来对数据持久化。
○ 应用:也就是MVC应用,它为用户提供操作界面(UI),然后调用逻辑来完成业务。
它们之间的依赖关系如下:
2. 将My Blog的Post类转移到BlogModel中(复制的时候应注意命名空间):
3. 创建Blog仓储(这里仍然使用静态列表来表示一个数据源):
4. 创建BlogManager作为一个简单的业务逻辑管理者:
5. 在MVC中定义视图模型,用于显示:
文章详情模型:
文章列表模型:
6. 在Controller中使用BlogManager:
7. 修改页面,使用Model来渲染页面:
8. 运行结果,仍然和之前一致:
本文地址:http://www.cnblogs.com/selimsong/p/7650179.html
ASP.NET没有魔法——目录
代码分层
综合考虑将博客应用代码分为以下几个层次:○ 模型:代表应用程序中的数据模型,与数据库表结构对应。同时也作为MVC与逻辑层之间的数据交换对象(后续会使用DTO代替)。
○ 仓储:用于管理数据增、删、查、改。
○ 逻辑:用于处理业务逻辑,一般来说是根据应用层提供的数据来驱动业务执行,业务逻辑会使用仓储来对数据持久化。
○ 应用:也就是MVC应用,它为用户提供操作界面(UI),然后调用逻辑来完成业务。
为模型、仓储和逻辑创建类库项目
1. 使用VS2017创建3个类库项目,分别是BlogBusinessLogic、BlogModel、BlogRepository:它们之间的依赖关系如下:
2. 将My Blog的Post类转移到BlogModel中(复制的时候应注意命名空间):
3. 创建Blog仓储(这里仍然使用静态列表来表示一个数据源):
4. 创建BlogManager作为一个简单的业务逻辑管理者:
5. 在MVC中定义视图模型,用于显示:
文章详情模型:
文章列表模型:
6. 在Controller中使用BlogManager:
7. 修改页面,使用Model来渲染页面:
8. 运行结果,仍然和之前一致:
小结
本章仅仅是根据上一篇的分析对原有的MVC应用进行了拆分,拆分的目的是将关注点分离,便于代码的管理和维护。需要注意的是从拆分的代码中可以看到从MVC调用逻辑层的获取文章列表、信息方法与逻辑层调用仓储层的方法基本一致,并没有额外的逻辑加入,这是因为现在的业务逻辑相对简单,而并不是无用的。本文地址:http://www.cnblogs.com/selimsong/p/7650179.html
ASP.NET没有魔法——目录
相关文章推荐
- ASP.NET没有魔法——ASP.NET MVC & 分层
- ASP.NET没有魔法——ASP.NET MVC IoC代码篇
- ASP.NET没有魔法——ASP.NET MVC 与数据库之MySQL&EF
- ASP.NET没有魔法——ASP.NET MVC IoC
- ASP.NET没有魔法——ASP.NET MVC 与数据库之EntityFramework配置与连接字符串
- ASP.NET没有魔法——ASP.NET MVC Controller的实例化与执行
- ASP.NET没有魔法——ASP.NET MVC 与数据库之Entity Framework Migrations
- ASP.NET没有魔法——ASP.NET MVC IoC
- ASP.NET没有魔法——ASP.NET MVC 与数据库之EF实体类与数据库结构
- ASP.NET没有魔法——ASP.NET MVC 过滤器(Filter)
- ASP.NET没有魔法——ASP.NET MVC是如何运行的?它的生命周期是什么?
- ASP.NET没有魔法——ASP.NET MVC 模型绑定解析(下篇)
- ASP.NET没有魔法——ASP.NET MVC使用Area开发一个管理模块
- ASP.NET没有魔法——ASP.NET MVC使用Oauth2.0实现身份验证
- ASP.NET没有魔法——ASP.NET MVC 过滤器(Filter)
- ASP.NET没有魔法_ASP.NET MVC 模型验证方法
- ASP.NET没有魔法——ASP.NET MVC 模型绑定
- ASP.NET没有魔法——ASP.NET MVC 直连路由(特性路由)
- ASP.NET没有魔法——ASP.NET Identity 的“多重”身份验证代码篇
- asp.net mvc 后台代码在前台输出时出现 & 等乱码