前言
PREFACE
经过多年的发展,.NET Core的功能已经趋于稳定和完善,它为.NET开发人员提供了极其方便的项目框架和功能集成,特别是在跨平台领域,得到了越来越多开发者的喜爱,而无缝对接分布式中间件和容器化,则极大提升了开发人员的工作效率。不仅如此,ASP.NET Core又极其简单,容易上手,只要有一定的.NET Framework开发基础,都能够简单地将自己现有的项目升级到ASP.NET Core上去,减少了企业的运营成本。
自从2016年正式问世以来,.NET Core以高性能、免费开源和跨平台为主要目标,实现了一次完美的飞跃,吸引了越来越多的初学者、.NET开发者,以及其他平台语言开发者。通过学习和研究,他们都可以将自己工作中的项目逐一迁移到.NET Core上来。
本书作者从2018年正式开始布道,并负责部门内项目的升级,从ASP.NET Core 2.0到3.0,再到现在的5.0。高效、简单、易上手,是部门组员在升级的过程中,经常提到的三个词语。不仅如此,作者还在2019年正式开源基于ASP.NET Core开发的权限认证系统——Blog.Core,它小巧灵便、功能齐备,曾被网友们赞为“.NET Core版的Spring Boot”,而本书的讲解和案例项目,正是基于Blog.Core的归纳和概括。
作为一名软件开发人员,理论知识是很重要的,但是一套合适的实战方案教程,对于初学者来说更加重要。倘若一直看理论内容,难免会有些枯燥和不得其法,本书就是在理论的基础上,讲解如何在一个全新的项目中,一点点完善和迭代,最终完成一个可真正用于企业的解决方案。但是作者也有些担心,害怕到最后会出现理论没有讲清楚,实战也没有讲明白的尴尬境地。虽然作者写文章已经有三年多时间了,但是写书还是第一次,如果中间有叙述不周或者疏漏的地方,希望读者可以不吝赐教,下文会有勘误地址和交流群,供读者发表意见和建议。
技术总是在更迭中,但核心的逻辑是永远不会有太大变化的,希望读者在阅读本书的时候,可以举一反三,也尽量尝试通过查看源码的形式,进一步理解ASP.NET Core,这对未来的学习和工作会大有裨益。本书有配套教学视频,目的就是让读者快速掌握知识,并应用到工作中去。读者可以直接将本书的配套案例经过二次开发变成自己的项目,也算是一种福利吧,我们也会进行视频直播并建立读者社区,相信有了社区等辅助力量,读者肯定进步更快。
读者对象
● 有一定.NET Framework编程经验的使用者;
● ASP.NET Core的Web爱好者;
● 对前后端分离开发模式感兴趣的开发者;
● 其他后端语言的软件工程师;
● 开设ASP.NET Core相关课程的院校师生。
系统需求
本书中包含实战项目,希望每位读者都能够亲自动手练习,要完成书中的练习,需要配置以下最基本的硬件和软件:
● Windows 8及以上;
● macOS 10及以上;
● Linux系统,比如CentOS或Ubuntu;
● Visual Studio 2019 16.8及以上;
● Visual Studio Code;
● SQL Server 2012及以上。
书中的示例项目对应的是Windows 10、Visual Studio 2019 17.0、VS Code、SQL Server 2012。
本书的结构
本书主要分成以下4个部分。
第一部分(第1章~第2章)介绍ASP.NET Core的发展历史和基本情况,然后详细讲解环境配置,并搭建了一个简单的官方示例项目,重点分析了每个文件所对应的内容和意义。
第二部分(第3章~第7章)重点介绍了平时开发中用到的中间件和相关组件,每章一个知识点,相互之间不受影响,但又存在过渡关系。比如接口文档、授权认证、数据库连接ORM、泛型仓储模式、依赖注入容器等,实现了项目从0到1的搭建过程,为构建一个完整的管理系统做好准备。
第三部分(第8章~第11章)正式进入实战部分,设计项目后端接口部分的业务逻辑,集成单元测试和功能测试,基于Windows和Linux多平台的真实部署,并附带日志记录。
第四部分(第12章~第14章)讲解实战项目的前端部分,包括前端基础环境搭建、Vue快速入门、示例项目运行。然后配合ASP.NET Core接口进行接口联调,并部署展示最终效果。
勘误和支持
本书基于ASP.NET Core 5.0和Vue 3.0撰写,大多数内容较新,同时在写作过程中,微软官方又进行了几次小版本更新,书中难免会出现一些表达不太明确的地方,恳请读者批评指正。
为了让读者可以更好地指出本书的问题和建议咨询,作者特地创建了一个站点(https://github.com/SpringFarSoft/Book)。读者可以将阅读本书时遇到的问题发布到Issue列表中,当然如果有任何其他相关的问题,也可以访问Q&A页面,或者QQ群(867095512),我们将在线为读者解答。本书中所有的源代码均已开源,读者可以从代码仓库(https://github.com/SpringFarSoft/SwiftCode.BBS)中获取,当然,代码也会一直得到更新维护。如果读者有任何与项目相关的问题,也可以提出来,共同讨论。
致谢
感谢参与本书审校的亓梁、崔钰玺、卢汝东、雅琳,他们不计任何报酬,完全是出于对本书的认可和对微软技术的喜爱。在审校的过程中,他们不厌其烦地提出了自己的理解和反馈,正是因为他们的乐于奉献,才使得本书的内容更加完善。
此外,感谢每一个为社区做贡献的朋友,正是因为他们的默默付出和无私奉献,才能给作者带来无限的灵感。
最后,感谢参与本书编写的小伙伴们,我们曾经一起为一件事而奋斗过,努力过,并留下了难忘的回忆!
张安忠