用MVC5+EF6+WebApi 做一个小效率(三) 项目搭建

有鉴于此,领域驱动设计的中坚是树立正确的园地模型

诚如一个档次始于从前都会有启动会,须要交底等等,其中会有一个环节,大讲特讲项目的意思,然后取一个宏大上的门类名字,咱那是一个小功效谈不上体系,不过名字不可以太吝啬了。好呢,就叫特朗普吧。没有其他意义,玩嘛!

DDD那一个东西中文名字应该叫天地驱动设计,园子很多大神分享过、讲解过。看了成千上万博客很多书,依然没太精晓这么复杂的事物(没有履行,纸上得来终觉浅)。那里大致说说自己的明亮,把事情逻辑尽量的汇集在世界层(Domain),假若项目是人身,那世界层就是身体的大脑了,以后日的科学技术,身上的组件除了大脑基本都可替换。也许可以把大脑换来另一个人身上,不过,整个肢体如故要听大脑的指挥。即使人体没有了大脑,基本上就是一滩肉,失去了作为机体的功力。

小功效的分支

 

大家以此小品种分四层,分别为

  • 川普.Domain 首要存放在模型,不引用任何类型
  • 川普.EF 完毕数据持久化内容,本案中选择EF6,所以那边会有多量EF
    CRUD落成的操作,器重Domain项目
  • 特朗普.Application
    达成数据与UI的相互,经过EF处理的数码在这一层转接为DTO再次回到到UI层,看重Domain、EF项目
  • Trump.ExamApp UI层实现,使用MVC5+Web
    Api+jQuery+Bootstrap构建,依赖Domain、Application层。

貌似项目中还会有一个扶植类的类型,提供一些常用方法封装,增加方法等,并不作为任何类型独有,所以那边就不列出来了。

 

 

项目分层结构也要在那边说一下,这一次这几个小功用仿照DDD的分段形式,一定牢记我说的是人云亦云。因为自己也不懂DDD,我就画个皮。

要详细精通DDD的概念可以打开下面的链接,包罗下方图片,也是从作品中粘过来的,在此大家只是用她的支行,并从未举行DDD。

创立解决方案及创设项目(Vs 2017)

来啊来啊,新建空白解决方案,然后添加MVC项目,名字叫川普(Trump).ExamApp,那一个很基础很基础的,只列一下注意点

1.取舍ASP.NET Web应用程序.NET Framework
,上边格外是神话中的跨平台版本。比较滞后,看了几遍视频都是第几集。

图片 1

2.采用MVC,同时勾选Web
API(不勾选亦能够,可以因而Nuget添加),身份验证那里选用不进行身份验证。()

图片 2

 

身份验证:

不进行身份验证:不利用net自带的地方管理

个人用户账号:集成Asp.Net Identity v2(.NET Framework) or v3+(.NET
Core)版本

图片 3

3.创造落成后如图

图片 4

4.行使Nuget管理项目中的引用

在类型上右键,管理Nuget程序包,移除“Microsoft.ApplicationInsights”。Application
Insights 是可扩张的应用程序性能管理 (APM) 服务,可让 Web
开发人士在四个平台上转变和治本使用。暂时用不到,但是package有好多少个,习惯性移除掉,然后就是进步一下除了jQuery外所有的包。

注意:因为包容性问题,jQuery版本不要随便更改

图片 5

 

好了。到此截至,这么些体系为主竣工,接下去就是根据预约的名字创办别的多少个类型,选用品种为类库(.NET
Framework)。

 

都创立完结后,刷新一下,然后生成解决方案。把Web项目设置为启动项目,F5开行调试,咱们凡事项目标作风基本搭建落成。

松开项目上的一个例证,比如引入工作单元、仓储层的定义,就是为了隔离领域与数码持久化,可是真的项目上线,要替换数据持久化的那一层谈何简单。按照项目现有应用场景,然后开展技能选型的时候,要综合支出功用,开发开销,可扩张性,可维护性等等,并不是什么惊天动地上就用什么样,什么概念都要涉及,那样只会变成一场技术点堆砌而难以实际利用。

例如大家那么些类型,就是一个小的作用,现在可预估的用户量就是你本身她,你非要在还没上线没成型就考虑百万级用户的恢宏,揣测那个类型永远都无法上线了。

 

世界驱动设计的经文分层架构

图片 6

技巧尚未好坏,唯有顺应不符合!当然,php是最好的语言,那是江湖真理!

以一种领域专家、设计人士、开发人士都能知晓的通用语言作为互相交换的工具,在沟通的历程中发现世界概念,然后将那么些概念设计成一个世界模型;
由世界模型驱动软件设计,用代码来贯彻该领域模型;

其它作为一个机体,还远远没有高达想电脑那样的低耦合度,所以大多数零件更换的血本都很高。尽管是一台微机,要转移零件也是要考虑到一体化平台的架构等等新闻,所以谈到低耦合,可替换的时候在不是不得已情状下,使用的几率很小。