NET使用ABP框架搭建博客项目(一)
有很多学NET开发的小伙伴建项目都比较茫然,我用什么开发?我都使用什么框架?我怎么起名字?种种问题,让一些低等、中等的工程师(甚至是高级工程师)很烦躁。
推荐一款土耳其大牛写的框架ASP.NET Boilerplate 简称 ABP,它适用于中小型项目(中小型代表了95%的项目,除非你的项目有几千万硬性的用户需求,或是几百万的并发)。 tkb至简 有对abp的简单介绍(也只是英文版翻译过来的),这里我简单介绍下abp。abp是一款DDD模式的框架,它具备分层以及模块化的结构,框架本身含有授权,验证,异常处理,日志,本地化,数据库连接管理,设置管理,审计日志等,ABP是一个开源的且文档友好的应用框架,起始的想法是,“开发一款为所有公司和开发者通用的框架!”。它不仅仅是一个框架,更提供了一个基于DDD和最佳实践的健壮的体系模型。
好了进入正题,打开官网http://www.aspnetboilerplate.com/
第一步,选择 Multi Page Web Application,我们简单的来单页面开发模式(常用的view开发)
第二部,选择数据映射实体框架(EF,微软的嘛)
第三部,去掉勾选的Include Module Zero (我不喜欢他设计的用户模块,不适合中国人,所以我要自己开发)
第四部,输入你的项目名称,我用Blog_Solution
填好了以后,等待项目下载成功。
打开项目第一件事是还原Nuget包(我个人有强迫症,更新了旧版的nuget包内容)。还原好了以后我们重新生成下项目
然后我们重新审视下项目
我在这里解释下这5个项目:
Blog_Solution.Application 引用层,用来实现业务逻辑、数据转换的项目;
Blog_Solution.Core核心层,我一般把实体写到这里面,包含一些辅助工具和其他相关的内容;
Blog_Solution.EntityFramework数据层,连接数据库的项目包含迁移、更新等;
Blog_Solution.Web表示层,一般我把他当做我的管理后台来处理,主要应用对象为运营人员
Blog_Solution.WebApi接口,假设我需要做多平台的项目,用来做数据对接,例如web、App、微信等
我们需要删除一些东西,例如本地化多余的资源,一般项目我们只用到两种语言(中文、英文)好我们删除其他的相关语言包Blog_Solution.Web/Localization/Blog_Solution只留下Blog_Solution-zh-CN.XML和Blog_Solution.XML,并且打开App_Start里面的Blog_SolutionWebModule类,前置启动方法中删除日本语和土耳其语并且把中文设置为默认语言
Configuration.Localization.Languages.Add(new LanguageInfo("en", "English", "famfamfam-flag-england")); Configuration.Localization.Languages.Add(new LanguageInfo("zh-CN", "简体中文", "famfamfam-flag-cn",true));
- 1
- 2
然后把web设置为启动项运行起来,我们就会发现语言包只剩下两个了,并且中文为默认语言如下图: