【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 (14)附数据库、发布项目 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

整个系列其实还包括项目管理、考勤签到、邮件、内部聊天等等,这个东西是做不完的,如果继续还有新闻系统、静态生成等等等等....

其中,静态页生成在我的博客中可以找到,三种方式:

第一种 就是类似网上的很多CMS一样 采用标签替换,但这种方式是不推荐的,特别是在我们.Net中,标签解析是十分庞大和困难的;

第二种 是使用RazorEngine 解析我们的cshtml页面,这种使用十分简单,直接读取地址生成html就行了;

第三种 也是我使用的,解析html模板(Razor语法的html模板)然后通过RazorEngine 解析,这个是十分简便的,RazorEngine 会直接识别html中的语法。

。。。。我想,很多朋友已经等不急了。。。并且,后面的什么项目管理啊、邮件啊之类的 都是业务逻辑,不断的重复我们的东西,使用到的基本都讲过了,所以也是没有很大的必要性。

所以,我们分为两章来总结一下这个系列:

第一章总结完,我会分享整个数据库和已发布之后的程序供大家测试和抽取UI

第二章总结完 我会把程序源码分享给大家。

为什么第一章不分享源码呢?因为我还没有整理好,比如仓储类实际上没有UnitOfWork,对性能是十分不好的,我要改,很多朋友无数次的要完整的东西,所以先把发布之后的程序和数据库给大家,就当开胃菜,整理好之后全部分享。分享之后的源码仅供大家参考,请不要直接拿来使用,因为很多东西比如DDD的设计、UnitOfWork 都是没有完全实现的,大家可以关注

【无私分享:ASP.NET CORE 项目实战】目录索引 这个系列,在这个系列中我们会重构我们的思想,并且修改基础操作类(重新开发,没有在本系列中没有看懂仓储类库Repository的可以重点看下),实现对架构和性能的追求。

好了,废话不多说。

首先呢,我们来讲下依赖注入(DI):

在我们这个系列中,我们是通过Spring.net 来实现的(在Asp.net Core中已经底层支持【无私分享:ASP.NET CORE 项目实战(第二章)】添加EF上下文对象,添加接口、实现类以及无处不在的依赖注入(DI)),大家最有印象的应该就是xml的配置。我们来看下Web.config:

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 (14)附数据库、发布项目 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

我们重点看下 Spring配置指向,这里有算是两类指向,一类是webpage的指向(我们的应用程序层webpage),一类是Service的指向(我们的应用服务接口层)

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 (14)附数据库、发布项目 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

我们建了很多xml文件,例如 ComService.xml、MailService.xml ,创建这些xml的目的其实跟我们建文件夹是一样的,就是为了分类管理,建一个也是可以的,并不是一定要建这么多。

包括webpage\config下的xml 这些作为Spring配置的xml 都应该修改为“嵌入的资源 ”

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 (14)附数据库、发布项目 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

我们来分别讲下webpage/config 和 service\config 里面的xml,这里用通俗容易理解的方式讲下,希望大家不要扣字。

我们先来看下service\config 里面的xml,我们以Service.xml为例:

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 (14)附数据库、发布项目 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

我们看下格式:

<object type="Service.ServiceImp.PermissionManage,Service" singleton="false"></object>

<objectfont-family: "Microsoft YaHei"; font-size: 16px">定义一个唯一的名字" type="接口实现类,Service" singleton="false"></object>

名字自己定义一个就可以,没有什么特别的规范,只是要唯一,我们在webpage\config 里要用到这个名字,两者保持一致便可。

接口实现类就是命名空间+实现类的类名,以上面的(Service.ServiceImp.PermissionManage)为例,我们看下我们这个实现类:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwspjp.html