ABP介绍】的更多相关文章

前言 为了能够帮助.Net开发者开拓视野,更好的把最新的技术应用到工作中,我在3月底受邀到如鹏网.net训练营直播间为各位学弟学妹们进行ABP框架的直播分享.同时为了让更多的.NET开发者了解ABP框架,也在斗鱼直播间进行了直播.https://www.douyu.com/1980808 分享时间:2017年4月8日(星期六)下午14:00--16:00 链接:http://www.rupeng.com/Activities/48.shtml 过程 大致流程为 总的来说因为时间的关系2个小时无法…
很久没动博客了,人比较懒. 最近想写点啥,主要就介绍下ABP框架和我这两年的使用经验. 文档翻译之类的工作就算了,需要的请参考: 官方文档 PS:官方文档末尾有中文文档的链接,这里就不贴了 先列个提纲,有想到的不定期补充,思路略混乱. What Is Abp QuickStartA:概述.思想.入门和HelloWorld QuickStartB:正确理解Abp解决方案的代码组织方式.分层和命名空间 Abp框架已实现的功能介绍 模块化,执行流程介绍 动态映射webapi,优劣介绍和推荐使用 如何使…
ABP是ASP.NET Boilerplate Project (ASP.NET样板项目)的简称. ABP 适用的场景:中小规模 WEB 应用开发,可直接使用 ABP 框架. 较大型项目可以在 ABP 框架的源码基础上进行扩展,以实现分布式架构. ABP的层次: 为了减少复杂性和提高代码的可重用性,采用分层架构是一种被广泛接受的技术. 为了实现分层的体系结构,ABP遵循DDD(领域驱动设计)的原则,将分为四个层次: 展现层(Presentation):提供一个用户界面,实现用户交互操作. 应用层…
ABP是什么 ABP是”ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate ABP 的由来 “DRY——避免重复代码”…
本篇作为我ABP介绍的第三篇文章,这次想讲下模块的,ABP文档已经有模块这方面的介绍,但是它只讲到如何使用模块,我想详细讲解下它模块的设计思路. ABP 框架提供了创建和组装模块的基础,一个模块能够依赖于另一个模块.在通常情况 下,一个程序集就可以看成是一个模块.在 ABP 框架中,一个模块通过一个类来定义,而这 个类要继承自 AbpModule. 其实它的设计思路很简单: 1.加载bin目录下的所有dll public class WebAssemblyFinder : IAssemblyFi…
本节目录 Abp介绍 Abp源码分析 代码实现 Abp介绍 学习了一段时间的Abp,领略了一下前辈的架构.总结还是SOLID,降低耦合性. 虽然从架构上说甚至不依赖于DI框架,但实际上在基础框架中还是有一定的必须依赖Castle Windsor. Abp依靠IOC和AOP实现了大量的自动化. 其中Module设计,是Abp的核心. Abp源码分析 Abp的入口:AbpBootstrapper.Initialize() 此方法中做了各种配置的注册及初始化. 最重要的是AbpModuleManage…
前言 为了能够帮助.Net开发者开拓视野,更好的把最新的技术应用到工作中,我在3月底受邀到如鹏网.net训练营直播间为各位学弟学妹们进行ABP框架的直播分享.同时为了让更多的.NET开发者了解ABP框架,也在斗鱼直播间进行了直播.https://www.douyu.com/1980808 分享时间:2017年4月8日(星期六)下午14:00--16:00 链接:http://www.rupeng.com/Activities/48.shtml 过程 大致流程为 总的来说因为时间的关系2个小时无法…
本系列目录:Abp介绍和经验分享-目录 这篇是之前翻备忘录发现漏了的,前阵子刚好同事又提及过这个问题,这里补上. 本文重点在于理解什么是值对象的不可变性. Abp的ValueObject以及EF的ComplexType Abp中对应DDD概念的值对象有个基类:ValueObject<T>. 这个基类默认重写了Equals,GetHashCode等用于比较两个实例是否相等的方法和重载了==,!=操作符. 在构建一些比较复杂的实体时,我们可以把属于同一个概念的多个属性或字段封装成一个值对象. 这个…
本系列目录:Abp介绍和经验分享-目录 前言 ABP中有个异常UserFriendlyException经常被使用,但是它所在的命名空间是Abp.UI,总觉得和展现层联系过于紧密,在AppService中用也就罢了,在领域层中用它总觉得有点不合适. 那么怎么定义业务异常?既要用起来舒服又能体现业务意义? 几点目标 无需每个业务领域都定义各自的异常类,但使用时要有一定的可读性,能区分不同业务: 要有错误码: 每个错误码对应的提示语不能硬编码,最好能使用已有的本地化语言机制: 要有日志级别,不同的业…
本系列目录:Abp介绍和经验分享-目录 介绍ABP的文章,大多会提到ABP框架吸收了很多最佳实践,比如: 1.N层 (复用一下上篇的图) 展现层(Personball.Demo.Web):asp.net mvc只是其展现层,abp同时支持宿主为控制台程序.win服务或桌面程序WPF(wpf我不熟,理论上支持) 应用服务层(Personball.Demo.Application):对外提供功能的大粒度层次,参考门面模式(Facade Pattern)(另一种理解:应用服务是按用例组织代码提供功能)…