abp使用风格定义
一个开发人员的开发模式下面.用这个有太多代码要写了.所以需要限制与规范自己:
基于abp新系统的开发过程
1>*.Core 增加文件夹
eg:Questions
1.1>增加实体文件
eg:QAQuestion.cs
注意,应用层和实体服务傻傻分不清的时候.不要强迫症那就放一个地方好了.
应用层是各种协调,比如说你新建了一个单据,需要发一个邮件通和/短信通知/xx通知.
实体服务是只针对实体之间的协调.所有的实体状态的修改均在实体或者实体服务中间处理.
2>*.EntityFramework
2.1>*DbContext 增加数据行
eg:public IDbSet<QAQuestion> QAQuestion { get; set; }
2.2>vs201X->视图->其它窗口->程序包管理器控制台->
编辑下EntityFramework,项目里面把*.Web设为默认,好使用它的连接
在程序包管理器控制台里面->选*.EntityFramework为默认项目.
输入 Add-Migration "名字自己取"
会在*.EntityFramework中的Migrations中生成迁移代码.最好是自己修改下.因为所有的string都是max的,
eg:201703160740284_Add_Questions.cs
CreateTable(
"dbo.QAQuestions",
c => new
{
Id = c.Long(nullable: false, identity: true),
RecNo = c.String(nullable:false,maxLength:20),
Product = c.String(nullable:false,maxLength:20),
Version = c.String(nullable:false,maxLength:20),
Category = c.String(nullable:false,maxLength:10),
Status = c.String(nullable:false,maxLength:20),
EndUser = c.String(nullable:true,maxLength:20),
Content = c.String(),
3>*.Application
对外的接口均在此体现
目录结构:
Questions
Dto
xxxxDto
IxxxxService.cs
xxxxService.cs
相应建一把文件夹
eg:Questions
Dto 各种输入输出
外面的是Applcation的内容.可以写一个接口,再继承,也可以不写接口,直接上.
我的意见:
Dto
分页条件输入
单个数据条件输入
列表dto 输出
详细dto 输出
创建dto 输入
更新dto 输入
eg:
[AutoMapFrom(typeof(xxxx))]
xxxxListDto: EntityDto<long> 列表的输出
GetxxxxListInput 列表获取的条件
[AutoMap(typeof(xxxx))]
CreatexxxxInput 创建的输入
GetxxxxInput 单数据获取的条件
为了减少编译,增加灵活性,
所有的输入均做为string json的这种方式.如果需要限制,增加两个d2o.分页条件d2o和条件d2o.除非特殊情况下
附加信息有带吗?
eg:{pageindex:1,xxxx,orderby:'xx desc,mm asc',where:'where xx>"ddd"'}
angularjs2和angularjs1的区别在于.如果你用了angularjs2.要按这个来配置
http://www.cnblogs.com/1zhk/p/5831567.html
angularjs2更像一个整体.与mvc关系不大.在某种程度上面,你可以不用web了.重新建一个项目来做一个clientApp端.
4>*.Web菜单定义
App_Start中
.AddItem(
new MenuItemDefinition(
"Roles",
L("Roles"),
url: "#/roles",
icon: "fa fa-bed"
)
)
这里需要改写
5>*.Web前台菜单定义,用的都是单页
App app.js里面需要定义.
abp使用风格定义的更多相关文章
- ABP领域层定义仓储并实现
原文作者:圣杰 原文地址:ABP入门系列(3)——领域层定义仓储并实现 在原文作者上进行改正,适配ABP新版本.内容相同 一.先来介绍下仓储 仓储(Repository): 仓储用来操作数据库进行数据 ...
- Abp VNext权限定义
在Shop.Application.Contracts项目中Permissions目录下ShopPermissions定义权限名 namespace Shop.Permissions { public ...
- java开发移动端之spring的restful风格定义
https://www.ibm.com/developerworks/cn/web/wa-spring3webserv/index.html
- ABP(现代ASP.NET样板开发框架)系列之9、ABP设置管理
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之9.ABP设置管理 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...
- ABP源码分析七:Setting 以及 Mail
本文主要说明Setting的实现以及Mail这个功能模块如何使用Setting. 首先区分一下ABP中的Setting和Configuration. Setting一般用于需要通过外部配置文件(或数据 ...
- ABP源码分析四十五:ABP ZERO中的EntityFramework模块
AbpZeroDbContext:配置ABP.Zero中定义的entity的Dbset EntityFrameworkModelBuilderExtensions:给PrimitiveProperty ...
- ABP框架 - 日志
文档目录 本节内容: 服务端 获取Logger(记录器) Logger的基类 配置 Abp.Castle.Log4Net 包 客户端 服务端 ABP使用Castle Windsor的日志记录工具,它可 ...
- ABP框架 - 设置管理
文档目录 本节内容: 简介 关于ISettingStore 定义设置 setting scope(设置范围) 重写设置定义 获取设置值 服务端 客户端 修改设置 关于缓存 简介 每个应用必需存储一些设 ...
- ABP理论学习之日志记录
返回总目录 本篇目录 服务端 获取Logger 基类中的Logger 配置 客户端 服务端 ABP使用的是Castle Windsor的日志记录设备.它可以和不同的日志类库一起工作,比如Log4Net ...
随机推荐
- MJExtension使用指导(转)
MJExtension使用指导(转) MJExtension能做什么? MJExtension是一套字典和模型之间互相转换的超轻量级框架 MJExtension能完成的功能 字典(JSON) --& ...
- Saga的实现模式——控制者(Saga implementation patterns – Controller)
https://lostechies.com/jimmybogard/2013/03/14/saga-implementation-patterns-controller/ 之前的文章中我们介绍了观察 ...
- SQL Server Wait Types Library
https://www.sqlskills.com/blogs/paul/announcing-the-comprehensive-sql-server-wait-types-and-latch-cl ...
- Telnet窗口尺寸选项
转:http://www.cnpaf.net/Class/Telnet/200408/6.html 1.命令名称和选项代码 名称=NAWS(NegotiateAboutWindowSize)协商窗口的 ...
- zClip使用时ZeroClipboard生成的位置不对的问题
zclip官网:http://steamdev.com/zclip 我之前在另外一篇博文里面写了一个解决生成的位置不对的问题,请参考:http://www.cnblogs.com/longshiyVi ...
- Android实战简易教程-第十枪(画廊组件Gallery有用研究)
Gallery组件用于拖拽浏览图片,以下我们就来看一下怎样实现. 一.实现Gallery 1.布局文件非常easy: <?xml version="1.0" encoding ...
- pl/sql游标
通过游标,我们可以取得返回结果集的任何一行记录,提高效率. 定义游标: type 游标名 is ref cursor 变量名 游标名 打开游标: open 游标变量 for select语句: 取出当 ...
- EffectiveJava(24)使用@SuppressWarnings("unchecked")消除非受检警告
-..使用泛型编程时,会遇到许多编译器警告,如:非受检强制转化警告,非受检方法调用警告,非受检普通数组创建警告,费受精转换警告.这次的内容就是遇到这些警告的时候你该怎么办. PS:非受检警告就是代码上 ...
- 关于Linux开源项目基础组件make编译流程
关于Linux开源项目基础组件make编译流程 非常多Linux开源项目都会用到编译出可运行文件的make.这个是有一套流程的. 首先,GNU构建系统:https://en.wikipedia. ...
- PJOI PKU Campus 2011 B:A Problem about Tree LCA 求随意点x为根的y的父节点
题目链接:点击打开链接 题意:给定n个点 m个询问 以下n-1行给定一棵树 m个询问 x y 问把树转成以x为根 y的父节点是谁 第一种情况lca==y那就是x的第 dep[x] - dep[y] - ...