既然已经打开这个页面了,我就不介绍什么是ABP了。哈哈哈,如果想知道,请移驾。反正我是不说。

1.首先打开https://aspnetboilerplate.com/Templates

下载所需要的ABP版本

我选择这个,我们这个demo是做abp+vue的前后端分离。虽然abp有自带的vue,但是我要自己搭一个前端(其实是abp的vue是ts的版本,楼主ts还不是特别会写)。

下载完之后,打开解决方案。

接下来介绍一下这些层

Application 应用层

根据DDD的设计,该层主要做逻辑处理。简单的说就是,所有的 if 都写这里。(这样的解释应该没毛病)

该层在mvvm的模式里把vm转化成dto进行逻辑处理。

Core 领域层

相当于mvc里面的m,所有对接数据库的obj都在这里定义。

如果根据DDD的设计的话,该层还进行数据的存取,比如说,保存一个对象,需要应用层过滤一遍数据,通过了之后,传递dto,把dto映射成core层的实体(以后应该会讲abp集成的automapper),在core层进行数据的保存的动作。

EntityFrameworkCore ORM层(我自己取的名字)

其实就是一个迁移层,ef 这个orm.

在程序包控制台默认项目设置成EntityFrameworkCore ,然后键入Enable-Migrations即可还原数据库。

如下图所示:

Migrator 也是一个迁移层

把启动项设置成这个层,然后运行,他会提示你数据库连接字符串,然后键入Y就可以自动生成数据库

该层依赖的是这个配置文件。

 Web.Core 

这一层打开看一下,这个结构是不是跟mvc的结构很相似。没错abp也提供了mvc的模式

Web.Host

启动层,把默认启动项设置成该层,打开就可以发现是一个swagger。

提供了项目中所有的动态API,接下来我们主要是在该层的启动项上做开发。

Web.Mvc

启动层,把默认启动项设置成该层,打开就可以发现是一个基于jquery的web应用。

该层也是vm活动的地方,但是我们做前后端分离,所以该层我们用不到。可以删掉。

Tests

这个是测试单元

介绍完了。项目的地址是https://gitee.com/xuxml/ABP.Learn

【ABP.Net】1.创建项目&介绍框架结构的更多相关文章

  1. WebStorm新创建项目介绍

    WebStorm创建一个项目 这里支持有很多的类型项目: Empty Project         ----一个空的项目 Html5 Boilerplate     ----HTML5开发框架 We ...

  2. C#程序员的春天之从零开始学习unity3D游戏开发入门教程二(创建项目及基本面板介绍)

    一项目创建: 创建项目是开发的第一步. 运行untiy之后如果是第一次运行会弹出 我们这里随便创建一个项目. 二Untiy面板介绍: 三代码编辑器的切换: 这里我安装了vs2012. 到这里开发环境基 ...

  3. Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查

    一.Django项目的创建与介绍 ''' 安装Django #在cmd中输入pip3 #出现这个错误Fatal error in launcher: Unable to create process ...

  4. 创建Django与项目介绍

    主流web框架总结 a socket b 路由关系 c 模板字符串替换(模板语言) 主流web框架 djange a用别人的 b自己写 c自己写 flask a用别人的 b自己写 c用别人的(jinj ...

  5. 一步一步使用ABP框架搭建正式项目系列教程之本地化详解

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 扯扯本地化 ABP中的本地化 小结 扯扯本地化 本节来说说本地化,也有叫国际化.全球化的,不管怎么个叫法,反正道理都是一 ...

  6. 手工搭建ABP框架(1) - Web项目

    为了防止不提供原网址的转载,特在这里加上原文链接: http://www.cnblogs.com/skabyy/p/7295533.html ABP是 ASP.NET Boilerplate Proj ...

  7. OpenLayers项目分析——(一)项目介绍

    OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包,目前的最高版本是2.7 V,通过BSD License 发行.它实现访问地理空间数据的方法都符合 ...

  8. redmine中创建项目与跟踪标签(原创)

    今天来说下本公司所用到的项目管理工具redmine,总体来说还是比较好用的.redmine中可以记录项目的整个过程,可创建跟踪标签(里程碑.需求用例.功能.任务.缺陷)来进行对项目的管控.跟踪标签根据 ...

  9. CoinPunk项目介绍

           CoinPunk是一个bitcoin比特币钱夹服务web应用程序,你可以自己构建钱夹服务.开源,免费. 轻量级,高效 响应式设计 轻易创建新账户 详细的交易记录 构建于Node.js与H ...

随机推荐

  1. H5_0003:JS禁用调试,禁用右键,监听F12事件的方法

    1,禁用调试 // 这个方法是防止恶意调试的 (function () { console["log"]("=============================== ...

  2. JGUI源码:实现图标按钮及下拉菜单(16)

    效果如下 代码片段如下 <div class="jgui-btn" id="personalbtn" style="float:right;&q ...

  3. 在Synology群晖上运行Frp客户端

    一.Synology群晖上开启SSH 二.使用Putty连接 1,登陆管理员账户和密码 2,连接成功后输入sudo su - 输入管理员的密码切换到root权限 下载:wget https://git ...

  4. JS中JSON和string字符串相互转换

    在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSO ...

  5. AB PLC首次IP地址如何分配

    AB PLC首次IP地址如何分配,这里介绍的方法是针对CompactLogix和ControlLogix控制器 一.准备工作 AB PLC控制器一台,本文以5069-L330ER为例,将其通电: 笔记 ...

  6. 工作经验-Oracle定时数据备份

    Oracle database 11g express edition http://www.oracle.com/technetwork/cn/products/express-edition/do ...

  7. python3元组

    Python3 元组 元组运算符 len((1, 2, 3)) 3 计算元素个数 (1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接 ('Hi!',) * 4 (' ...

  8. [转] word2vec

    from: https://www.cnblogs.com/peghoty/p/3857839.html 另附一个比较好的介绍:https://zhuanlan.zhihu.com/p/2630679 ...

  9. Spring 基于注解的AOP实现

    在本文开始之前,我要引入一张图,这张图的来源 https://blog.csdn.net/chenyao1994/article/details/79708496 ,版权归原作者所有,我借鉴了原作者的 ...

  10. redhat7初始化yum源

    1.卸载原有的yum [app@localhost ~]$ su - root Password: Last :: CST on pts/ [root@localhost ~]# cd /etc/yu ...