既然已经打开这个页面了,我就不介绍什么是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. 【转】Redis学习笔记(五)如何用Redis实现分布式锁(2)—— 集群版

    原文地址:http://bridgeforyou.cn/2018/09/02/Redis-Dsitributed-Lock-2/ 单机版实现的局限性 在上一篇文章中,我们讨论了Redis分布式锁的实现 ...

  2. jmeter中的函数

    1.函数帮助 1.tool-------->function helper dialog 可以查看函数帮助 2.jmeter中的函数 1.函数格式   ${__funcctionname(var ...

  3. windows 系统后台运行 jar 包

    windows平台下 后台运行 jar 包 1.cmd 下执行方式:后台运行  start /min java -server -Xms1024m -Xmx20480m -jar $JAR_NAME. ...

  4. Python appium搭建app自动化测试环境

    appium做app自动化测试,环境搭建是比较麻烦的. 也是很多初学者在学习app自动化之时,花很多时间都难跨越的坎. 但没有成功的环境,就没有办法继续后续的使用. 在app自动化测试当中,我们主要是 ...

  5. L1-Day12

    1.凡是杀不死你的都会让你变得更强.(什么关系?主语是什么?)[我的翻译]There is no killing you makes you stronger.[标准答案]What doesn’t k ...

  6. ASP.NET MVC - Entity Framework

    ASP.NET MVC - Entity Framework 实体关系 关系是某个实体(表)的一条记录对应于另一个实体(表)的一条或多条记录. 一对多关系 单方面的包含关系称为一对多,而一对多和一对一 ...

  7. hihocoder 1176

    hihocoder 1176 题意:N,M.分别表示岛屿数量和木桥数量,一笔画 分析:欧拉路问题(给定无孤立结点图G,若存在一条路,经过图中每边一次且仅一次,该条路称为欧拉路) 欧拉路的条件 一个无向 ...

  8. 结合jira搭建自动化测试平台

    mysql 语句查看 python manage.py sqlmigrate your_app_name 0001 代码如下 #coding=utf8 #https://jira.readthedoc ...

  9. 010_TCP queue的研究

    先来回顾下三次握手里面涉及到的问题:1. 当 client 通过 connect 向 server 发出 SYN 包时,client 会维护一个 socket 等待队列,而 server 会维护一个 ...

  10. 【easy】257. Binary Tree Paths 二叉树找到所有路径

    http://blog.csdn.net/crazy1235/article/details/51474128 花样做二叉树的题……居然还是不会么…… /** * Definition for a b ...