返回总目录《一步一步使用ABP框架搭建正式项目系列教程》


经过前面十二篇的基础教程,现在终于该做个总结了。

回顾

第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样既快速又准确,不会因为项目的搭建,而让新手畏而却步。

第二篇,我们说了实体类的创建,这是放在核心层(Core Layer)的,每个实体类最终和数据库中的表是一一对应的。

第三篇,我们讲了创建数据库上下文DbContext,这是连接应用程序和数据库的桥梁,是数据在应用和数据库之间流通的管道。

第四篇,有了前面的桥梁、管道,那么接下来就应该彻底第一次打通该通道了,这就是数据库迁移,完成了这一步,核心层的实体类就和数据库中的表一一对应上了。

第五篇,通道有了,数据库也有了,假如数据库中有了很多数据,那么我们如何将这些数据取出来供应用程序使用呢?这就需要仓储出马了,它就像是应用程序中一个临时存储数据的仓库一样。而在第五篇中,我们主要说的是仓储接口的定义,而这个仓储接口,一般是一些自定义的方法,因为绝大多数的方法如Insert(),Delete(),Get(),Update()等都已经定义在了泛型接口IRepository<T>中,一般我们是不需要定义的。注意仓储接口的定义是放在核心层的。

第六篇,上面定义了仓储接口,这里自然就要实现这些接口了。注意,仓储的实现是放在ABP的基础设施层的,比如,你项目中使用的EF,那么仓储接口的实现就要放在EntityFramework那个类库项目。

第七篇,构建应用层服务。创建这一层的目的是为了解耦表现层和核心层,这样表现层就像皮肤一样可以灵活更换,而核心层也可以随着业务的变化而改变,也不会影响到表现层。

第八篇,上面构建了应用层服务,而一般来说,应用程序的输入都要经过两次验证,一次是在客户端,一次是在服务端,因此第八篇说的数据校验就是应用服务层的服务端校验。应用服务层方法的参数一般是一个Dto类,而该Dto类继承了ABP中定义的验证接口(如IInputDto)的话,ABP会通过拦截器进行拦截验证,详细信息请查看对应的文档。

第九篇,介绍了ABP中的一大特色,就是可以将上面创建的应用服务层的方法动态地生成Web API,这样,我们的Web层就可变得很薄,而且,在客户端直接调用Web API有时也是很方便的事情。

第十篇,应用程序的最顶端,也就是UI层了。这里主要给展示了一下我在项目中使用了哪些脚本或插件来实现一些界面上的功能,没有具体讲什么客户端技术,因为涉及知识面太广,因此,以后可能会讲。

第十一篇,也是ABP中的一大特色,本地化系统灵活,强大,健壮,本地化资源可以存储为xml,json,资源文件,还可以存储在数据库中,而且使用非常方便。请查看详细文档进行阅读。

第十二篇,通过一个小例子展示了一下ABP中单元测试的构建。特点是在同一个解决方案中另建一个类库项目即可完成,此外,更加真实的测试(只有初始数据是伪造的)使得测试格外具有价值。

忠告

我相信,如果你认真地阅读了本教程,并且跟着我的节奏动手实践的话,那么使用ABP搭建属于你的项目已经不是难事了。

最近很多园友都通过下面的连接加入了QQ群,但是依然还有很多园友在群里问着很简单的问题,其实很多问题我已经在博客中说明解决方法了,所以希望看到这里的园友或者今后加到QQ群的园友,如果你真的希望灵活使用ABP这个框架,掌握一些基本原理,那么我希望你能好好地阅读我的所有关于ABP的文章,如果你急功近利,只是图快,尽快使用ABP搭建好项目,这样是学不好ABP的,总之,态度一定要端正。记住,所有的框架都是由很多相同的基本知识点构成的,这些基本知识点掌握了,学习任何一个框架都会是得心应手的感觉。就像学习编程语言一样,基本语法和编程思想掌握了,所有的编程语言都是一通百通的事情。

计划

该系列教程的知识点也回顾完了,楼主的忠告也说完了,接下来楼主说说后面博客的打算。

ABP理论基础和实践基础系列教程都完成了,下面最先要完成的是《ABP理论高级》,这里面主要介绍一些理论基础中没有谈到的知识点。然后是《ABP实践高级》,从头到尾做一个完整的项目【只有两三项功能哦】,太多功能的实现本质都是差不多的,所以也就不在重复造轮子!

最后,希望大家关注这篇博客ABP框架理论研究总结(典藏版),随时关注ABP高级的链接是否已激活。

ABP框架搭建项目系列教程基础版完结篇的更多相关文章

  1. NET使用ABP框架搭建项目

    NET使用ABP框架搭建博客项目(一) 有很多学NET开发的小伙伴建项目都比较茫然,我用什么开发?我都使用什么框架?我怎么起名字?种种问题,让一些低等.中等的工程师(甚至是高级工程师)很烦躁. 推荐一 ...

  2. 一步一步使用ABP框架搭建正式项目系列教程

    研究ABP框架好多天了,第一次看到这个框架的名称到现在已经很久了,但由于当时内功有限,看不太懂,所以就只是大概记住了ABP这个名字.最近几天,看到了园友@阳光铭睿的系列ABP教程,又点燃了我内心要研究 ...

  3. 一步一步使用ABP框架搭建正式项目系列教程之本地化详解

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 扯扯本地化 ABP中的本地化 小结 扯扯本地化 本节来说说本地化,也有叫国际化.全球化的,不管怎么个叫法,反正道理都是一 ...

  4. 关于使用ABP框架搭建的项目升级时需要注意的问题汇总

    ABP理论学习总目录 一步一步使用ABP框架搭建正式项目系列教程 ABP之Module-Zero学习目录 本篇目录 说明 升级方法 问题_01:Log4Net导致编译不成功 2015/12/18更新 ...

  5. Laravel大型项目系列教程(一)

    Laravel大型项目系列教程(一) 一.课程概述 1.课程介绍 本教程将使用Laravel完成一个多用户的博客系统,大概会包含如下内容: 路由管理. 用户管理,如用户注册.修改信息.锁定用户等. 文 ...

  6. SSM 框架-06-详细整合教程(IDEA版)(Spring+SpringMVC+MyBatis)

    SSM 框架-06-详细整合教程(IDEA版)(Spring+SpringMVC+MyBatis) SSM(Spring.Spring MVC和Mybatis)如果你使用的是 Eclipse,请查看: ...

  7. SSM 框架-05-详细整合教程(Eclipse版)(Spring+SpringMVC+MyBatis)

    SSM 框架-05-详细整合教程(Eclipse版)(Spring+SpringMVC+MyBatis) 如果你使用的是 Intellij IDEA,请查看: SSM的配置流程详细的写了出来,方便很少 ...

  8. Laravel大型项目系列教程(三)之发表文章

    Laravel大型项目系列教程(三)之发表文章 一.前言 上一节教程中完成了用户管理,这节教程将大概完成发表Markdown格式文章并展示的功能. 二.Let's go 1.数据库迁移 文章模块中我们 ...

  9. Laravel大型项目系列教程(二)之用户管理

    Laravel大型项目系列教程(二) 一.前言 本节教程将大概实现用户的注册.修改个人信息.管理用户功能. 二.Let's go 1.创建用户注册视图 $ php artisan generate:v ...

随机推荐

  1. 《Django By Example》第五章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者@ucag注:大家好,我是新来的翻译, ...

  2. gentoo 安装

    加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...

  3. Web性能优化:图片优化

    程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...

  4. LeetCode-5LongestPalindromicSubstring(C#)

    # 题目 5. Longest Palindromic Substring Given a string S, find the longest palindromic substring in S. ...

  5. 十分钟玩转 jQuery、实例大全

    一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库.源码戳这 jQuery对象 jQuery产 ...

  6. 用FSM一键制作逐帧动画雪碧图 Vue2 + webpack

    因为工作需要要将五六十张逐帧图拼成雪碧图,网上想找到一件制作工具半天没有找到,就自己用canvas写了一个. 写成之后就再没有什么机会使用了,因此希望有人使用的时候如果遇到bug了能及时反馈给我. 最 ...

  7. ASP.NET Core 中文文档 第四章 MVC(4.5)测试控制器逻辑

    原文: Testing Controller Logic 作者: Steve Smith 翻译: 姚阿勇(Dr.Yao) 校对: 高嵩(Jack) ASP.NET MVC 应用程序的控制器应当小巧并专 ...

  8. 【WPF】日常笔记

    本文专用于记录WPF开发中的小细节,作为备忘录使用. 1. 关于绑定: Text ="{Binding AnchorageValue,Mode=TwoWay,UpdateSourceTrig ...

  9. 设计模式C#合集--工厂方法模式

    简单工厂,代码: public interface ISpeak { public void Say(); } public class Hello : ISpeak { public void Sa ...

  10. GOF23设计模式归类

    创建型模式:-单例模式.工厂模式.抽象工厂模式.建造者模式.原型模式结构型模式:-适配器模式.桥接模式.装饰模式.组合模式.外观模式.享元模式.代理模式行为型模式:-模板方法模式.命令模式.迭代器模式 ...