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 ...
随机推荐
- 《深入理解Spark-核心思想与源码分析》(二)第二章Spark设计理念和基本架构
若夫乘天地之正,而御六气之辩解,以游无穷者,彼且恶乎待哉? ——<庄子.逍遥游> 翻译:至于遵循宇宙万物的规律,把握“六气”的变化,遨游于无穷无尽的境域,他还仰赖什么呢! 2.1 初始Sp ...
- 静态NAT地址转换
1.配置路由器端口ip(两个端口需要设置两个网段) Router(config)#inter f0/1 Router(confiog-if)#ip add 202.1.1.2 255.255.255. ...
- Maven多模块项目单独编译子模块项目时报错:Failed to execute goal on project/Could not resolve dependencies for project
背景:常规的父子项目搭建的工程,参考:http://www.cnblogs.com/EasonJim/p/6863987.html 解决方法: 1.需要把parent工程,也就是package是pom ...
- How to enable Hibernate option in windows 2008 R2 server?
http://velshare.blogspot.com/2013/02/how-to-enable-hibernate-option-in.html 1) To enable the Hiberna ...
- SVN安装中遇到的问题
新的版本:1.9.5 必须使用Apache Portable Runtime Utility 1.5.4 Released没有安装的话需要先安装 需要安装apr.apr-util sqlite zli ...
- ylbtech-LanguageSamples-Generics(泛型)
ylbtech-Microsoft-CSharpSamples:ylbtech-LanguageSamples-Generics(泛型) 1.A,示例(Sample) 返回顶部 “泛型”示例 (C#) ...
- nginx和selinux冲突
cat /var/log/audit/audit.log |grep nginx |grep denied| audit2allow -M mynginx 取出selinux中有关于nginx被拒绝的 ...
- Hadoop之Sqoop详解
sqoop数据迁移1.简介 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具. 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS.HIVE.HBA ...
- CHAPTER ONE LOAD-BALANCING
1.1 Synopsis In this part, we will explain how to create a load-balancer withnginxfor a lot of OpenE ...
- oracle新建一个表空间和用户来測试
首先对表空间作例如以下说明 暂时表空间:是在做大数据量排序时.分组操作时用的.正常这些都是在内存中完毕的.但在大数据量排序处理时.内存不够用的情况下就会用到暂时表空间,这里是不存放表的,有点类似于操作 ...