浅谈ABP最佳实践】的更多相关文章

目录 ABP概念简述 ABP在[事务操作]上的简便性 ABP在[关联查询]上的“美”和“坑” ABP的[参数验证]方式 ABP概念简述 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称.它基于DDD的经典“分层架构”思想,开发了便捷的功能模块. ABP在[事务操作]上的简便性 以一个最简单的学生选课为例,包含学生.课程.选课结果三个实体. 在学生选课过程中,当学生选课后,会进行两个操作: 1.增加学生选课记录. 2.增加课程班级人数. 这两个过…
近一年半,我参与了两到三个项目的工作,这些项目涉及到大量供“外部”使用的REST API,稍后我们会看到为什么要将“外部”这个词放在引号之中.在项目工作期间,我不得不对这些API进行反复地设计,再设计和重构,这篇文章是我对Rest API最佳实践的一些个人看法,希望读者能够从中获益. 更好.更早地设计 对于很多语言来说,实现REST Service是一项极其微不足道的任务.换言之,无论你选择什么底层框架,只要辅以少量配置和代码,你可以在一小时之内就拥有一个REST Service.虽然对于缺乏经…
abp的模块化给我留下深刻的印象,模块化不是什么新概念,大家都习以为常,但是为什么要模块化,模块化的意义或者说目的是什么?也许我们思考得并不深入.难得的是abp不仅完美的阐述了模块化概念,而且把模块化落地得十分优雅,并且进行了开源. 模块化内涵? 模块分类 根据粒度大小的不同,模块具有各自的概念,我们从小到大来看一下模块都有哪些内容. 零件--class(最小) 组件--component(较小),软件的最小部署单元,比如jar,dll等 模块--module(更大),具有独立命名空间,可独立开…
这一篇,本文会介绍一下基本的断言概念,但重点会放在企业级单元测试的相关功能上面.下面来跟大家分享一下xUnit.Net的断言,主要涉及到以下内容: 关于断言的概念 xUnit.Net常用的断言 关于单元测试实践的讨论 xUnit.Net比较器:IEqualityComparer接口 重构Demo:浅谈UT框架实践 扩展实现 : 集合比较 异步处理 结合.Net平台能力:类型扩展 (一)关于断言的概念 提到断言,我想先说说概念上的东西.其实,断言不是单元测试才有的东西.先看一段断言的概念描述: 断…
在本文中阿里云资深产品专家云郎分享了基于阿里云 MaxCompute 构建企业云数据仓库CDW的最佳实践建议. 本文内容根据演讲视频以及PPT整理而成. 大家下午好,我是云郎,之前在甲骨文做企业架构师8年,目前是MaxCompute产品经理. 在这么长的客户工作过程中,作为产品PD,一定是跟客户在一起的.我经常被一些问题挑战:云郎,我们现在要建数据仓库,我该怎么去规划?云郎,我现在这边是大数据的建设团队,好像数据团队不怎么理我,什么情况?云郎,我们这边现在建了一个平台,现在性能好像有问题,是不是…
[转].NET(C#):浅谈程序集清单资源和RESX资源   目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceManager解析二进制资源文件 小看RESX资源文件的Designer.cs文件 返回目录 程序集清单资源 在程序集中嵌入资源的最简单方法是什么?那就是使用Visual Studio中的“嵌入式资源(Embedded Resource)”创建选项,相当于使用csc的”/resource”参数.具体步…
[微信小程序项目实践总结]30分钟从陌生到熟悉 前言 我们之前对小程序做了基本学习: 1. 微信小程序开发07-列表页面怎么做 2. 微信小程序开发06-一个业务页面的完成 3. 微信小程序开发05-日历组件的实现 4. 微信小程序开发04-打造自己的UI库 5. 微信小程序开发03-这是一个组件 6. 微信小程序开发02-小程序基本介绍 7. 微信小程序开发01-小程序的执行流程是怎么样的? 阅读本文之前,如果大家想对小程序有更深入的了解,或者一些细节的了解可以先阅读上述文章,本文后面点需要对…
朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招 概览 标题中的高并发架构设计是指设计一套比较合适的架构来应对请求.并发量很大的系统,使系统的稳定性.响应时间符合预期并且能在极端的情况下自动调整为相对合理的服务水平.一般而言我们很难用通用的架构设计的手段来解决所有问题,在处理高并发架构的时候也需要根据系统的业务形态有针对性设计架构方案,本文只是列出了大概可以想到一些点,在设计各种方案的时候无非是拿着这些点组合考虑和应用. 有很多高并发架构相关的文章都是在介绍具体的技术点,本文尝试从根…
1.在项目中添加nuget包 Abp.Web.Api.SwaggerTool 2.在项目Abp模块的DependsOn添加AbpWebApiSwaggerToolModule Run It,启动项目,访问/swagger/ui/index 就打开熟悉的swagger-ui界面,项目中webapi和动态Api的接口都出现了. Abp.Web.Api.SwaggerTool作为swagger的增强包,内部实现了很多有用的功能并提供了一些最佳实践,用户无需在意Swagger的集成问题. 项目源码htt…
MySql主从配置实践及其优势浅谈 1.增加两个MySQL,我将C:\xampp\mysql下的MYSQL复制了一份,放到D:\Mysql2\Mysql5.1 修改my.ini(linux下应该是my.cnf) : [client] port = 3307 [mysqld] port = 3307 basedir=D:/Mysql2/Mysql5.1/mysql datadir=D:/Mysql2/Mysql5.1/mysql/data/ 之后,再增加MySQL2服务, mysqld –inst…