上一篇文章https://www.cnblogs.com/mbpframework/p/12073102.html,介绍了一下Mbp的框架.其实这个框架写出来主要是为了学习,当然也可以经过优化运用到实际的项目中.今天我们来说说怎么使用这个框架.

首先我们用分层的方式来规划下我们的项目代码结构.

Medical.Ai.Mbdp.Application(应用服务层)

  这层,通过poco controller,将应用服务方法提供为动态web api.并提供身份验证,权限鉴定,事务功能.在这层使用ef core来进行数据库操作.如果需要使用领域驱动的方式也是可以,在domain定义实体就好了.依赖注入然后通过依赖注入,获取实体对象.前提是需要对领域驱动方式熟悉,确保实施的合理性.

Medical.Ai.Mbdp.Application.Contracts(应用服务契约层)

  这个层的设计是借鉴abp的分层架构里面的,在我的设计里面,这个层主要用来定义DTO及对外公布的接口.这个层在单体结构下会显得有些多余,但是在分布式应用中,特别是微服务的架构中作用会很明显.

在分布式或者微服务架构中,各个微服务之间的业务来往大部分时候是通过这个层来做的.

Medical.Ai.Mbdp.Domain(实体层/领域层)

  这个层用来定义实体的.当我们不实施DDD时候,可以把这个当作poco entity 层来看代就好了.如果要实施DDD,那么就需要费点劲喔,毕竟很多时候我们的业务都不是一直那么复杂.

Medical.Ai.Mbdp.EntityFrameworkCore(EF CORE基础设施)

  这个层是数据访问的基础设施层,因为换ORM的场景毕竟是不多的,如果考虑到性能问题,在早期的时候就应该分离那些场景.所以这个层就没考虑做仓储层了.

Medical.Ai.Mbdp.Web(web api启动项目)

  这个层就是用来启动我们的程序的,在net core里面,我们的web程序也是一个独立运行的程序了,不需要一定要放在IIS上了.

熟悉ABP的小伙伴,一定熟悉这种分层方式,而我也是借鉴了别人的分层方式.

好了,简单介绍了一下分层设计的想法之后.我还是上一张图来诠释下.

好了,前面写得文字够多了.接下来就说说怎么启动应用.(确保你的电脑安装了vs2019,sqlserver 2012以上.并且装了.net core3.1的SDK)

1.下载代码,使用git下载代码,gti clone https://github.com/mbpframework/Mbp.git

2.点击生成,生成成功后,开始下一步

3.删除Medical.Ai.Mbdp.EntityFrameworkCore项目下Migrations里的代码文件,全部删掉.

4.设置Medical.Ai.Mbdp.Web项目为启动项

5.打开程序包管理控制台,选中项目Medical.Ai.Mbdp.EntityFrameworkCore,然后输入命令行Add-Migration InitDB

然后再输入update-database.

6.F5运行,出现界面

到此,就OK.为了方便大家交流,我建一个QQ群.

如何使用Mbp模块构建应用.相关推荐

  1. angular 模块构建_我如何在Angular 4和Magento上构建人力资源门户

    angular 模块构建 Sometimes trying a new technology mashup works wonders. Both Magento 2 + Angular 4 are ...

  2. angular 模块构建_通过构建全栈应用程序学习Angular 6

    angular 模块构建 Angular 6 is out! The new features include better performance, new powerful CLI additio ...

  3. angular 模块构建_如何通过11个简单的步骤从头开始构建Angular 8应用

    angular 模块构建 Angular is one of the three most popular frameworks for front-end development, alongsid ...

  4. 3项目里面全局用less变量 cli vue_Vue实战14——抽离全局less变量与Vuex持久化、多模块构建...

    上文中说到了利用Element-ui优化了导航栏,本节介绍抽离公共的less变量与利用Element-Ui实现登录注册页面.本项目git地址: https://gitee.com/vuejslearn ...

  5. 【Java从0到架构师】Maven - 依赖冲突、分模块构建项目

    SpringBoot - Maven 补充 依赖冲突 解决方案 - dependencyManagement 自定义属性 分模块构建项目 继承 - parent 聚合 - modules 依赖 - d ...

  6. maven分模块构建项目工程

                             分模块构建工程 基于上边的三个工程分析,我们将持久层,业务层.控制器和试图表现层可以分为三个不同的模块来处理,创建一个parent工程将通用的pom配 ...

  7. android 多个aar合并,Android多模块构建合并aar解决方案

    前言 前段时间,我在实现gradle多模块构建遇到一个问题,以前我们基本上是以jar包形式让开发者集成到工程中使用,但自从Android Studio中有了多module的概念,而我们的SDK也是分了 ...

  8. 使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制

    为了提高性能,几乎所有互联网应用都有缓存机制,其中Memcache是使用非常广泛的一个分布式缓存系统.众所周知,LAMP是非常经典的Web架构方式,但是随着Nginx的成熟,越来越多的系统开始转型为L ...

  9. [转] 使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制

    为了提高性能,几乎所有互联网应用都有缓存机制,其中Memcache是使用非常广泛的一个分布式缓存系统.众所周知,LAMP是非常经典的Web架构方式,但是随着Nginx的 成熟,越来越多的系统开始转型为 ...

最新文章

  1. mpvue开发小程序所遇问题及h5转化方案
  2. pythorch创建简单的神经网络源码
  3. Win32汇编扩展教程
  4. Flutter 构建一个完整的聊天应用程序
  5. 【Python】30个Pandas高频使用技巧
  6. UNIX环境高级编程笔记之文件I/O
  7. amd r5 m330 linux驱动下载,AMDAMD Radeon(TM) R5 M330 14.502.1014.0000显卡驱动官方正式版下载,适用于win8.1-64-驱动精灵...
  8. Win7system登录打开计算机,Windows7系统system文件丢失导致开机黑屏如何解决
  9. js和layerjs配合实现的拖拽表格列
  10. RNA-Seq分析软件HTSeq的安装
  11. linux 修改内核源码,Source Insight阅读linux内核源代码——根据其他文章修改
  12. ORACLE RAC中的oc4j和gsd资源以及RAC相关的进程
  13. 学习iot_腾讯 AI Lab智慧农业组招收多名算法工程实习生 -- IOT/机器学习方向
  14. 阿里大于短信返回XML
  15. 用Aria2加速下载数据集等
  16. JSR303数据校验
  17. 20190803——python文件操作
  18. 树莓派/arm设备上安装火狐Firefox浏览器
  19. python深拷贝与浅拷贝
  20. 【LCA】BZOJ1776-[Usaco2010 Hol]cowpol 奶牛政坛

热门文章

  1. 亚马逊测评如何有效的催评
  2. 渗透测试|shopXO后台全版本获取Shell复现
  3. 对Java类初始化顺序的一些理解
  4. StreamReader与StreamWriter乱码问题
  5. 推荐一款MySQL客户端工具NavicatPremium,超级好用!不需要乱七八糟的套路
  6. wavecom 短消息相关 + 短消息中心站
  7. 国海证券分析报告(0607)
  8. 保理和小贷的核心区别?
  9. 卓训教育:培养孩子自律的方法,让孩子越来越优秀!
  10. 最新Eclipse安装教程(2022-09)