cdns个人博客asp_ASP.NET开发实战——(六)ASP.NET MVC & 分层 代码篇

cdbdd18d1640da95e43c4749199860df.png

上一篇文章对如何规范使用ASP.NET进行了介绍,本章内容将根据上一篇得出的结论来修改博客应用的代码。

代码分层

综合考虑将博客应用代码分为以下几个层次:

○ 模型:代表应用程序中的数据模型,与数据库表结构对应。同时也作为MVC与逻辑层之间的数据交换对象(后续会使用DTO代替)。

○ 仓储:用于管理数据增、删、查、改。

○ 逻辑:用于处理业务逻辑,一般来说是根据应用层提供的数据来驱动业务执行,业务逻辑会使用仓储来对数据持久化。

○ 应用:也就是MVC应用,它为用户提供操作界面(UI),然后调用逻辑来完成业务。

为模型、仓储和逻辑创建类库项目

1. 使用VS2017创建3个类库项目,分别是BlogBusinessLogic、BlogModel、BlogRepository:

347cfcd01b278dc33782c8b5e1654458.png

它们之间的依赖关系如下:

d62aabf2c2f1af80df1a05e1c2f540c6.png

2. 将My Blog的Post类转移到BlogModel中(复制的时候应注意命名空间):

5847bdae3e398d93e34ad9640c1877eb.png
7dfca66f2de83e29736bae60675ae161.png

3. 创建Blog仓储(这里仍然使用静态列表来表示一个数据源):

6be89179d973ee6e1da2be7ae6a39ffb.png
02d8cd9d75388e489aadaef593b6a7c0.png

4. 创建BlogManager作为一个简单的业务逻辑管理者:

d6b4041d603ac2a3078c5902862f532b.png

5. 在MVC中定义视图模型,用于显示:

文章详情模型:

a8d0ca0edc26beeb10580e42b549a857.png

文章列表模型:

2afdf06d2b94b9a797f395d7fd1315f5.png

6. 在Controller中使用BlogManager:

37d79b62e9e96f94496691b62115474b.png
513e0e5463954702cca2229b3eed99c7.png

7. 修改页面,使用Model来渲染页面:

38c7f4d0df7c8d85d645929118a7b327.png
52e831af04fdc759a100aa8832e88113.png

8. 运行结果,仍然和之前一致:

71805ade3ee77c0a67bbed622d2b989e.png
cea6a6dea7c153b9d1dc219e891cf9ed.png

小结

本章仅仅是根据上一篇的分析对原有的MVC应用进行了拆分,拆分的目的是将关注点分离,便于代码的管理和维护。需要注意的是从拆分的代码中可以看到从MVC调用逻辑层的获取文章列表、信息方法与逻辑层调用仓储层的方法基本一致,并没有额外的逻辑加入,这是因为现在的业务逻辑相对简单,而并不是无用的。

欢迎添加个人微信号:Like若所思。

欢迎关注我的公众号,不仅为你推荐最新的博文,还有更多惊喜和资源在等着你!一起学习共同进步!

707c8e0b7acaae8b617ea1310e0a0fec.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值