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

时间:2021-08-22 06:13:18

一般一个项目开始之前城市有启动会,需求交底等等,此中会有一个环节,大讲特讲项目的意义,然后取一个高大上的项目名字,咱这是一个小成果谈不上项目,但是名字不能太小气了。好吧,就叫Trump吧。没有任何含义,玩嘛!

项目分层布局也要在这里说一下,此次这个小成果模仿DDD的分层模式,必然记住我说的是模仿。因为我也不懂DDD,我就画个皮。

DDD这个对象中文名字应该叫范围驱动设计,园子很多大神分享过、讲解过。看了很多博客很多书,依然没太理解这么庞大的对象(没有实践,纸上得来终觉浅)。这里简单说说本身的理解,把业务逻辑尽量的集中在范围层(Domain),如果项目是人体,那范围层就是人体的大脑了,以此刻的科技,身上的零件除了大脑根基都可替换。也许可以把大脑换到另一小我私家身上,但是,整个身子还是要听大脑的指挥。如果身体没有了大脑,根基上就是一滩肉,掉去了作为机体的成果。

此外作为一个机体,还远远没有到达想电脑那样的低耦合度,所以大部分零件改换的本钱都很高。即使是一台电脑,要改换零件也是要考虑到整体平台的架构等等信息,所以谈到低耦合,可替换的时候在不是万般无奈情况下,使用的几率很小。

放到项目上的一个例子,好比引入事情单元、仓储层的观点,就是为了断绝范围与数据长期化,但是真正项目上线,要替换数据长期化的那一层谈何容易。基于项目现有应用场景,然后进行技术选型的时候,要综合开发效率,开发本钱,可扩展性,可维护性等等,并不是什么高大上就用什么,什么观点都要涉及,那样只会成为一场技术点堆砌而难以实际应用。

好比我们这个项目,就是一个小的成果,此刻可预估的用户量就是你我他,你非要在还没上线没成型就考虑百万级用户的扩展,预计这个项目永远都没法上线了。

技术没有好坏,只有适合不适合!固然,php是最好的语言,这是世间真理!

以一种范围专家、设计人员、开发人员都能理解的通用语言作为彼此交流的工具,在交流的过程中发明范围观点,然后将这些观点设计成一个范围模型;
由范围模型驱动软件设计,用代码来实现该范围模型;

由此可见,范围驱动设计的核心是成立正确的范围模型

要详细了解DDD的观点可以打开上面的链接,包孕下方图片,也是从文章中粘过来的,在此我们只是用他的分层,并没有实践DDD。

范围驱动设计的经典分层架构

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

  小成果的分层

我们这个小项目分四层,分袂为

Trump.Domain 主要存放模型,不引用任何项目

Trump.EF 实现数据长期化内容,本案中使用EF6,所以这里会有大量EF CRUD实现的操纵,依赖Domain项目

Trump.Application 实现数据与UI的交互,颠末EF措置惩罚惩罚的数据在这一层转接为DTO返回到UI层,依赖Domain、EF项目

Trump.ExamApp UI层实现,使用MVC5+Web Api+jQuery+Bootstrap构建,依赖Domain、Application层。

一般项目中还会有一个辅佐类的项目,供给一些常用要领封装,扩展要领等,并不作为任何项目独占,所以这里就不列出来了。

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

来吧来吧,新建空白解决方案,然后添加MVC项目,名字叫Trump.ExamApp,这个很根本很根本的,只列一下注意点

1.选择ASP.NET Web应用措施.NET Framework ,上面阿谁是传说中的跨平台版本。对照落伍,看了几回视频都是第几集。

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

2.选择MVC,同时勾选Web API(不勾选亦可以,可以通过Nuget添加),身份验证那里选择不进行身份验证。()

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

身份验证:

不进行身份验证:不使用net自带的身份打点

小我私家用户账号:集成Asp.Net Identity v2(.NET Framework) or v3+(.NET Core)版本

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

3.创建完毕后如图

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

4.使用Nuget打点项目中的引用

在项目上右键,打点Nuget措施包,移除“Microsoft.ApplicationInsights”。Application Insights 是可扩展的应用措施性能打点 (APM) 处事,可让 Web 开发人员在多个平台上生成和打点应用。暂时用不到,但是package有好几个,习惯性移除去,然后就是升级一下除了jQuery外所有的包。

注意:因为兼容性问题,jQuery版本不要随便变换

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

好了。到此为止,这个项目根基完毕,接下来就是凭据约定的名字创建其他几个项目,,选择类型为类库(.NET Framework)。

都创建完毕后,刷新一下,然后生成解决方案。把Web项目设置为启动项目,F5启动调试,我们整个项目的架子根基搭建完毕。