同步博客园地址:www.cnblogs.com/anyushengcm…
同步简书地址:www.jianshu.com/p/ebe390e48…html学而时习之,不亦说乎,温顾温知新,能够为师矣.前端
看懂远不如动手去作,动手作才能发现不少本身不懂的问题,不断的反思和总结,“乐于分享是一种境界的突破”。" 分享是颇有意思,也是能够锻炼人的。分享意味着自个人不断净化提高,不给本身后退的余地。为何这么说呢?jquery
"ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板。"
"ASP.NET Boilerplate 基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现全部DDD的概念)。"
ABP在中国火了有一段时间了,我算是添柴加火吧.git
下面是这期文章的目录:
一、 ABP+AdminLTE+Bootstrap Table权限管理系统第一节--使用ASP.NET Boilerplate模板建立解决方案
二、ABP+AdminLTE+Bootstrap Table权限管理系统第二节--数据库脚本
三、ABP+AdminLTE+Bootstrap Table权限管理系统第三节--abp分层体系及实体相关
四、ABP+AdminLTE+Bootstrap Table权限管理系统第四节--仓储,服务,服务接口及依赖注入
五、ABP+AdminLTE+Bootstrap Table权限管理系统第五节--WBEAPI及SwaggerUI
六、ABP+AdminLTE+Bootstrap Table权限管理系统第六节--abp控制器扩展及json封装
七、ABP+AdminLTE+Bootstrap Table权限管理系统第七节--登陆逻辑及abp封装的Javascript函数库
八、ABP+AdminLTE+Bootstrap Table权限管理系统第八节--ABP错误机制及AbpSession相关
九、ABP+AdminLTE+Bootstrap Table权限管理系统第九节--AdminLTE模板页搭建
十、ABP+AdminLTE+Bootstrap Table权限管理系统第十节--AdminLTE模板菜单处理
十一、ABP+AdminLTE+Bootstrap Table权限管理系统第十一节--bootstrap table之用户管理列表
十二、ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十二节--小结,Bootstrap Table之角色管理
1三、ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十三节--RBAC模式及ABP权限管理(附送福利)
未完待续...
运用到的服务端技术:程序员
客户端:(前端是用的AdminLTE,Bootstrap table.是开源的,不涉及版权)github
项目GitHub地址:github.com/Jimi-Jiang/…
这也算是学习笔记或者学习总结吧,其实目前1~11节蛮适合公司开发模式的.以前个人公司就用这种模式开发.可能像以前架构师说的,abp并不适合大型企业高并发项目吧,因此才吧abp改为11节以前的模式,以后的模式就在这上面扩展.
可是最近我在开发的过程当中在想,既然 ABP module-zero已经为咱们封装好了 abpsession 封装好了权限,受权等管理,为何咱们还要本身去写呢,直接在原来的基础上扩展就能够了嘛.因此在12节及之后的项目中,我会试着去ABP module-zero项目上去扩展延伸.主要参考的资料仍是博客大神的一系列文章"基于DDD的现代ASP.NET开发框架--ABP系列文章总目录".
为何使用ABP?
" 咱们近几年陆续开发了一些Web应用和桌面应用,需求或简单或复杂,实现或优雅或丑陋。一个基本的事实是:咱们只是积累了一些经验或提升了对,NET的熟悉程度。 随着软件开发经验的不断增长,咱们发现其实不少工做都是重复机械的,并且随着软件复杂度的不断提高,以往依靠经验来完成一些简单的增删改查的作法已经行不通了。特别是用户的要求愈来愈高,但愿添加的功能越来多,目前这种开发模式,已经捉襟见肘。我很难想象如何在现有的模式下进行多系统的持续集成并添加一些新的特性。
开发一个系统时,咱们不可避免的会使用各类框架。数据持久层实现、日志、ASP.NET MVC、IOC以及自动映射等。一个高质量的软件系统每每还有全局容错,消息队列等组件。
把上述这些组件组合到一块儿的时候,其复杂度会急剧上升。通常我的和小团队的技术水平,很难设计出一个均衡协调的框架。对于传统的所谓三层架构,我也是很持怀疑态度的。(月薪15k的程序员搞的三层架构,我也仔细读过,也是问题多多,并不能解释为何要使用三层)。
其实,咱们无非是但愿在编程的时候,把大部分的注意力所有集中到业务实现上。不要过多的考虑基础的软件结构上的种种问题。应该有一个框框或者一种范式来提供基本的服务,如日志、容错和AOP,DI等。稍微正规一点的公司通过多年沉淀都造成了本身的内部软件框架,他们在开发软件的时候并非从一片空白开始的。而是从一个很是牢固的基础平台上开始构建的。这样大大提升了开发速度,并且一种架构每每也决定了分工协做的模式。咱们目前之因此没法分工协做,根本缘由也是缺乏一套成熟稳定的基础开发架构和工做流程。
目前.NET上有很多开源框架。好比Apworks和ABP。其中Apworks是中国人写的一套开源框架。它是一个全功能的,不只能够写分布式应用,也能够写桌面应用。
ABP的全称是Asp.net boilerplate project(asp.net样板工程)。是github上很是活跃的一个开源项目。它并无使用任何新的技术,只是由两名架构师将asp.net开发中经常使用的一些工具整合到了一块儿,而且部分实现了DDD的概念。是一个开箱即用的框架,能够做为asp.net分布式应用的一个良好起点。
使用框架固然有代价,你必须受到框架强API的侵入,抑或要使用他的方言。并且这个框架想要吃透,也要付出很大的学习成本。可是好处也是显而易见的。业界顶尖的架构师已经为你搭建好了一套基础架构,很好的回应了关于一个软件系统应该如何设计,如何规划的问题,而且提供了一套最佳实践和范例。 学习虽然要付出成本,可是通过漫长的跋涉,咱们从一无所知已经站到了工业级开发的门槛上。基于这个框架,咱们能够很好的来划分任务,进行单元测试等。大大下降了软件出现BUG的概率。"
风物长宜放眼量,至此,一方面是改变本身懒惰的习惯,催促本身前行,一方面鞭策本身,不断学习.
web