zoukankan      html  css  js  c++  java
  • abp vnext 开发快速入门 1 认识框架

    最近在做一个项目,用的框架是Abp vnext ,不是Abp, 我自己也是刚开始用这个框架来做项目,难免要查资料,这个框架官方有中文文档,可以到官网www.abp.io 去查看,国内也有一些写了相关的文档,但是很多文档基本就是把官方文档搬过来,对于实际有些关键点的坑并没有填,还有些写的通篇理论知识,各种名词,像老太太的裹脚布,查资料查起来各种头大。我是实战派,这里就自己遇到的问题和开发项目的经验讲一些自己的理解,也好让用这个框架的人员快速入门。

    好,废话不多说,下面就开始说,全是干货哦(注意看以下内容要有.net core开发相关知识)。

    先说下我认为能使用一个框架要首先解决的几个问题:

    1. 要能理解框架整体结构
    2. 要能用框架实现基本的增删改查
    3. 了解框架如何实现角色权限控制
    4. 系统的日志记录、缓存处理等等框架是否实现,如何实现

    了解了以上几点,就基本可以用这个框架来开始做项目了,再有什么细节问题,可以遇到的时候再查资料解决。本篇我先说一下第一个点,就是abp vnext 框架的整体结构。

    1、获取框架代码:

    框架代码可以通过两种方式获取,使用CLI 和 直接下载 ,这里我用的直接下载,有喜欢用CLI的也可以看着官方文档看使用方法,官方文档这块介绍的比较详细,我就不说了,这里用直接下载的方式。

    下载的时候,ProjectType有两个类型,Application 和 Module ,这两个类型的区别,官网也有详细的说明,我个人的理解就是Application 是带了Web项目,传统的系统框架。而Module 官网的介绍是这样的,可用此模板开发基于模块开发最佳实践和约定的可复用 应用程序模块 . 它同样适用于开发微服务。我理解如果项目要基于微服务框架,或者以后准备要弄成微服务的,就用这个。abp vnext我认为就是为了微服务而生的,当然下载这个了。于是

    abp vnext 开发快速入门 1

    创建项目

    把include user interface 勾选上

    下载下来解压缩:

    abp vnext 开发快速入门 1

    文件目录

    主要看host,src 两个目录

    abp vnext 开发快速入门 1

    Host目录下

    abp vnext 开发快速入门 1

    src下

    下边我把主要的几个项目讲一下,先看host下项目

    1、TestProject.Host.Shared ,这个项目其实没多大用的到。看到Shared基本也能想到了。就是一些公用的配置之类的。比如他官方在这里做了个是否启用租户模式的配置。

    2、TestProject.HttpApi.Host,这个比较重要,这是当前模块(我这个模块名字叫TestProject)的 主机宿主,里边各种模块相关的配置,运行起来这个,才能访问模块提供的api。

    3、TestProject.IdentityServer,这是AuthServer,用的identityserver4,用户的授权全靠它了。这个服务在整个项目存在一个就行了,如果多模块,比如我又创建了个TestProject2,那么TestProject 和TestProject2 是共用 这个AuthServer 的。

    4、TestProject.Web.Host 实际开发基本用不大到,这个官方给的一个例子,演示了客户端如何使用identityserver4进行登录

    5、TestProject.Web.Unified 目前还没用到,也不知道有什么用,不说了这个

    然后看下src项目

    1、TestProject.Application ,相当于service层,abp框架可以做到把这层直接转为api,就不用写controller层代码了。具体如何转的后边会讲到。

    2、TestProject.Application.Contracts 这层主要放Dto(数据传输对象)和权限的一些配置。

    3、TestProject.Domain ,领域层,领域模型开发不了解的可以去找些资料看一下。如果用贫血模型,这层就类似之前的的Model层。

    4、TestProject.Domain.Shared,看到Shared了,那么就知道是啥了,公用配置。官网这里给了多语言相关的配置

    5、TestProject.EntityFrameworkCore 这个我就不用说了吧

    6、TestProject.HttpApi 传统意义的Controller层,这里abp让它失业了。

    其他几个目前没用到,估计也没啥用。

    apb的主要结构就是这些,了解了这些,入门相当于是抬起了一个脚了。下篇将就实现增删改查做个讲解。

  • 相关阅读:
    Java内存模型与共享变量可见性
    CopyOnWriteArraySet源码解析
    CopyOnWriteArrayList源码解析(1)
    CopyOnWriteArrayList源码解析(2)
    CopyOnWriteArrayList源码解析
    企业项目开发--切分配置文件
    常用Java集合类总结
    HashSet源码解析
    Flutter中的普通路由与命名路由(Navigator组件)
    Flutter——BottomNavigationBar组件(底部导航栏组件)
  • 原文地址:https://www.cnblogs.com/wcoolly/p/13286942.html
Copyright © 2011-2022 走看看