一个开发人员的开发模式下面.用这个有太多代码要写了.所以需要限制与规范自己:

基于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使用风格定义的更多相关文章

  1. ABP领域层定义仓储并实现

    原文作者:圣杰 原文地址:ABP入门系列(3)——领域层定义仓储并实现 在原文作者上进行改正,适配ABP新版本.内容相同 一.先来介绍下仓储 仓储(Repository): 仓储用来操作数据库进行数据 ...

  2. Abp VNext权限定义

    在Shop.Application.Contracts项目中Permissions目录下ShopPermissions定义权限名 namespace Shop.Permissions { public ...

  3. java开发移动端之spring的restful风格定义

    https://www.ibm.com/developerworks/cn/web/wa-spring3webserv/index.html

  4. ABP(现代ASP.NET样板开发框架)系列之9、ABP设置管理

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之9.ABP设置管理 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  5. ABP源码分析七:Setting 以及 Mail

    本文主要说明Setting的实现以及Mail这个功能模块如何使用Setting. 首先区分一下ABP中的Setting和Configuration. Setting一般用于需要通过外部配置文件(或数据 ...

  6. ABP源码分析四十五:ABP ZERO中的EntityFramework模块

    AbpZeroDbContext:配置ABP.Zero中定义的entity的Dbset EntityFrameworkModelBuilderExtensions:给PrimitiveProperty ...

  7. ABP框架 - 日志

    文档目录 本节内容: 服务端 获取Logger(记录器) Logger的基类 配置 Abp.Castle.Log4Net 包 客户端 服务端 ABP使用Castle Windsor的日志记录工具,它可 ...

  8. ABP框架 - 设置管理

    文档目录 本节内容: 简介 关于ISettingStore 定义设置 setting scope(设置范围) 重写设置定义 获取设置值 服务端 客户端 修改设置 关于缓存 简介 每个应用必需存储一些设 ...

  9. ABP理论学习之日志记录

    返回总目录 本篇目录 服务端 获取Logger 基类中的Logger 配置 客户端 服务端 ABP使用的是Castle Windsor的日志记录设备.它可以和不同的日志类库一起工作,比如Log4Net ...

随机推荐

  1. 【OpenJudge9267】【递推】核电站

    核电站 总时间限制: 5000ms 单个测试点时间限制: 1000ms 内存限制: 131072kB [描述] 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆 ...

  2. [OpenJudge8462][序列DP]大盗阿福

    大盗阿福 总时间限制: 1000ms 内存限制: 65536kB [描述] 阿福是一名经验丰富的大盗.趁着月黑风高,阿福打算今晚洗劫一条街上的店铺. 这条街上一共有 N 家店铺,每家店中都有一些现金. ...

  3. linux tail 命令详解!Linux 文件内容查看工具介绍

    转:http://blog.csdn.net/carzyer/article/details/4759593 1.cat 显示文件连接文件内容的工具: cat 是一个文本文件查看和连接工具.查看一个文 ...

  4. jQuery用noConflict代替$

    js框架很多的情况下,很容易出现冲突,建议使用noConflict代替$ //消除$对jquery缩写 $.noConflict(); //使用了noConflict后,用$就会无效,应用jQuery ...

  5. sqlserver 删除临时表

    sqlserver 删除临时表 if object_id('tempdb..#tempTable') is not null Begin drop table #tempTable End

  6. Spark(十一) -- Mllib API编程 线性回归、KMeans、协同过滤演示

    本文测试的Spark版本是1.3.1 在使用Spark的机器学习算法库之前,需要先了解Mllib中几个基础的概念和专门用于机器学习的数据类型 特征向量Vector: Vector的概念是和数学中的向量 ...

  7. Spark createDirectStream 维护 Kafka offset(Scala)

    createDirectStream方式需要自己维护offset,使程序可以实现中断后从中断处继续消费数据. KafkaManager.scala import kafka.common.TopicA ...

  8. Gitlab备份、迁移、恢复和升级

    Gitlab备份.迁移.恢复和升级 自建的Gitlab服务器常常会因为使用时间的增长,其空间容量等硬件需求都需要升级,或者迁移至更高配置的服务器上.备份.迁移.恢复.升级过程如下 1.gitlab备份 ...

  9. 伟大的UHD编解码器的辩论:谷歌VP9与HEVC / H.265

    伟大的UHD编解码器的辩论:谷歌VP9与HEVC / H.265 截至今天,伟大的UHD编解码器的争论涉及两个主要参与者:谷歌VP9和HEVC / H.265. 哪一个获得成功并where-invol ...

  10. TestNG+Maven+IDEA环境搭建

    TestNG+Maven+IDEA环境搭建 前言: 主要进行TestNG测试环境的搭建 所需环境: 1.IDEA UItimate 2.JDK 3.Maven 一.创建工程 File –>new ...