前言 近几年一直从事电子政务和企业管理软件的外包开发工作,深感开发技术更新之快,尤其随着移动互联网的发展,前端技术发展更是一日千里. 现在随便一个项目都要求多端使用(PC+App+微信),如果没有一个良好开发框架,对于外包项目开发而言累就一个字......... 本着不重复造轮子的原则,一直也在找一个合适的开发框架.ABP(ASP.NET Boilerplate)正是我心仪的对象.好处不再多介绍了,博客园已经有好多不错的文章, 传送门开始: ABP官方文档 ABP中文文档 ABP框架理论研究总结…
系列文章目录 随应潮流-基于ABP+Angulsrjs现代化应用软件开发框架(1)-总体说明 随应潮流-基于ABP+Angulsrjs现代化应用软件开发框架(2)-abp说明 随应潮流-基于ABP+Angulsrjs现代化应用软件开发框架(3)-模块开发 随应潮流-基于ABP+Angulsrjs现代化应用软件开发框架(4)-增删改查功能 随应潮流-基于ABP+Angulsrjs现代化应用软件开发框架(5)-移动端接口调用 随应潮流-基于ABP+Angulsrjs现代化应用软件开发框架(6)-配置…
前言 上周未发布完<基于ABP+Angulsrjs现代化应用软件开发框架(1)-总体介绍> 文章后,好多朋友问了我一些ABP的问题,并且希望我开源我的项目源码,向朋友们说一下,我项目的源码现在在做一些重构,我希望通过这一个系列的博客,也把自已的思路整理一下,希望能在这个系列完结后把代码开放出来.我的项目是基于ABP的,核心的(精华)代码其实都是ABP的源码中,大家可移步github下载源码. ABP的相关说明 有部分朋友对ABP不太了解,问我ABP是否收费的问题,在些向大家说明一下. 首先,a…
一.JqueryMobile 介绍 jQuery Mobile 是 jQuery 在手机上和平板设备上的版本. jQuery Mobile 不仅会给主流移动平台带来 jQuery 核心库,而且会发布一个完整统一的 jQuery 移动 UI 框架. 支持全球主流的移动平台.此框架简单 易用.页面开发主要使用标记,无需或仅需很少 JavaScript. 此框架简单易用.页面开发主要使用标记,无需或仅需很少 JavaScript. 二.SenchaTouch 介绍 前不久基于 JavaScript 编…
在前面我已经介绍了ASP.NET MVC.ASP.NET Razor.WEBAPI等技术.我准备通过一个实践项目来整体应用一下之前介绍的技术.本系列是介绍基于ABP+EasyUI的Web开发框架的形成过程,期间包括一些ABP的介绍,ASP.NET MVC Core技术.EasyUI技术.JQuery技术.WebAPI 技术,以及一些我对整体框架改造的基础性东西,力求更加稳定.通用.高效.简洁,最少的代码做最多的事情.我所使用的ABP版本是4.3,是2019年3月14日的版本. 一.ABP 的由来…
目录 系列文章 领域服务 应用服务 学习帮助 系列文章 基于ABP落地领域驱动设计-00.目录和前言 基于ABP落地领域驱动设计-01.全景图 基于ABP落地领域驱动设计-02.聚合和聚合根的最佳实践和原则 基于ABP落地领域驱动设计-03.仓储和规约最佳实践和原则 基于ABP落地领域驱动设计-04.领域服务和应用服务的最佳实践和原则 基于ABP落地领域驱动设计-05.实体创建和更新最佳实践 基于ABP落地领域驱动设计-06.正确区分领域逻辑和应用逻辑 围绕DDD和ABP Framework两个…
  在下面的例子中涉及Repository.Issue.Label.User这4个聚合根,接下来以Issue聚合为例进行分析,其中Issue聚合是由Issue[聚合根].Comment[实体].IssueLabel[值对象]组成的集合. 1.单个单元原则   简单理解,一个聚合就是由实体和值对象组成的集合,通过聚合根将所有关联对象绑定在一起,一个聚合是一个相对独立的业务单元.聚合和聚合根原则包括:包含业务原则,单个单元原则,事务边界原则,可序列化原则.接下来通过例子重点介绍下什么是单个单元原则,…
  什么是DDD呢?领域驱动设计[DDD]是一种针对复杂需求的软件开发方法.将软件实现与不断发展的模型联系起来,专注于核心领域逻辑,而不是基础设施细节.DDD适用于复杂领域和大规模应用,而不是简单的CRUD应用.它有助于建立一个灵活.模块化和可维护的代码库. 一.DDD中的领域层和应用层相关概念 DDD主要关注领域层和应用层. 1.DDD中的领域层 领域层中的基本概念有: (1)实体[Entity] 实体就像面向对象中的对象,它包含属性和方法,并且有唯一的ID. (2)值对象[Value Obj…
  本文主要介绍了通过构造函数和领域服务创建实体2种方式,后者多用于在创建实体时需要其它业务规则检测的场景.最后介绍了在应用服务层中如何进行实体的更新操作. 一.通过构造函数创建实体 假如Issue的聚合根类为: public class Issue : AggregateRoot<Guid> { public Guid RepositoryId { get; private set; } //不能修改RepositoryId,原因是不支持把一个Issue移动到另外一个Repository下面…
(一)项目背景 Sharepoint是微软的一个产品,很多公司都在使用它,也有很多公司以前使用它,现在可能需要移植到别的平台,也可能只是移植其中的文件存储,比如说移植到微软云,或者亚马逊云存储.SuperRocket.SPSync,就是在类似这样的背景下,应运而生.目前实现的功能主要是同步sharepoint上的文件存储到自己的服务器,同时支持同步到亚马逊云存储.计划后期可以加入别的存储,比如说Azure云存储. SuperRocket.SPSync 基于asp.net著名的项目- abp 和 …