如何使用Mbp模块构建应用.
上一篇文章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模块构建应用.相关推荐
- angular 模块构建_我如何在Angular 4和Magento上构建人力资源门户
angular 模块构建 Sometimes trying a new technology mashup works wonders. Both Magento 2 + Angular 4 are ...
- angular 模块构建_通过构建全栈应用程序学习Angular 6
angular 模块构建 Angular 6 is out! The new features include better performance, new powerful CLI additio ...
- angular 模块构建_如何通过11个简单的步骤从头开始构建Angular 8应用
angular 模块构建 Angular is one of the three most popular frameworks for front-end development, alongsid ...
- 3项目里面全局用less变量 cli vue_Vue实战14——抽离全局less变量与Vuex持久化、多模块构建...
上文中说到了利用Element-ui优化了导航栏,本节介绍抽离公共的less变量与利用Element-Ui实现登录注册页面.本项目git地址: https://gitee.com/vuejslearn ...
- 【Java从0到架构师】Maven - 依赖冲突、分模块构建项目
SpringBoot - Maven 补充 依赖冲突 解决方案 - dependencyManagement 自定义属性 分模块构建项目 继承 - parent 聚合 - modules 依赖 - d ...
- maven分模块构建项目工程
分模块构建工程 基于上边的三个工程分析,我们将持久层,业务层.控制器和试图表现层可以分为三个不同的模块来处理,创建一个parent工程将通用的pom配 ...
- android 多个aar合并,Android多模块构建合并aar解决方案
前言 前段时间,我在实现gradle多模块构建遇到一个问题,以前我们基本上是以jar包形式让开发者集成到工程中使用,但自从Android Studio中有了多module的概念,而我们的SDK也是分了 ...
- 使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制
为了提高性能,几乎所有互联网应用都有缓存机制,其中Memcache是使用非常广泛的一个分布式缓存系统.众所周知,LAMP是非常经典的Web架构方式,但是随着Nginx的成熟,越来越多的系统开始转型为L ...
- [转] 使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制
为了提高性能,几乎所有互联网应用都有缓存机制,其中Memcache是使用非常广泛的一个分布式缓存系统.众所周知,LAMP是非常经典的Web架构方式,但是随着Nginx的 成熟,越来越多的系统开始转型为 ...
最新文章
- mpvue开发小程序所遇问题及h5转化方案
- pythorch创建简单的神经网络源码
- Win32汇编扩展教程
- Flutter 构建一个完整的聊天应用程序
- 【Python】30个Pandas高频使用技巧
- UNIX环境高级编程笔记之文件I/O
- amd r5 m330 linux驱动下载,AMDAMD Radeon(TM) R5 M330 14.502.1014.0000显卡驱动官方正式版下载,适用于win8.1-64-驱动精灵...
- Win7system登录打开计算机,Windows7系统system文件丢失导致开机黑屏如何解决
- js和layerjs配合实现的拖拽表格列
- RNA-Seq分析软件HTSeq的安装
- linux 修改内核源码,Source Insight阅读linux内核源代码——根据其他文章修改
- ORACLE RAC中的oc4j和gsd资源以及RAC相关的进程
- 学习iot_腾讯 AI Lab智慧农业组招收多名算法工程实习生 -- IOT/机器学习方向
- 阿里大于短信返回XML
- 用Aria2加速下载数据集等
- JSR303数据校验
- 20190803——python文件操作
- 树莓派/arm设备上安装火狐Firefox浏览器
- python深拷贝与浅拷贝
- 【LCA】BZOJ1776-[Usaco2010 Hol]cowpol 奶牛政坛