推荐序一
2022年是.NET第一个正式版本发布的20周年。如果按照人类的年龄算,2022年正是.NET朝气蓬勃、青春焕发的年纪。回首这20年,.NET确实从一个含着金钥匙出生的婴儿,经过一路的学习、摸索、锻炼,成长为一位英姿飒爽的健壮青年。
随着.NET的成长而一路发展起来的.NET Core有着许多框架不曾有的丰富而又曲折的经历:从闭源到开源,从封闭生态到开放社区,从单Windows平台到真正的跨平台,从设计缺陷导致的“带病生产”到具有前卫引领作用的设计模式和特性……其中,包含着.NET在设计和发展理念上的不断突破与革新。.NET的发展过程中有一些历史“包袱”和误解需要诠释和正名,也有很多面向未来的优异特性和潜质值得诉说和期待。本书的面世,正好是对20岁的.NET所行的“冠礼”。
在本人对.NET的学习和工作实践中,接触过杨老师的不少优秀文章和思想,无论是代码还是图书,我知道杨老师都非常注重作品的质量。因此在拿到本书之前,我心里一直有一个疑问:已经有这么多.NET Core方面的文章和书籍了,那么这次杨老师又会玩出什么花样来?拿到本书后,当我一看到杨老师的自序,便直接给这本书下了一个定义:好书!
我也曾经花费数年著书,深知著书背后的艰辛,更知道一本“好书”面市的背后所包含的作者超乎寻常的付出,及其对作者深厚功底和毅力的考验。当我看完本书目录和全书后,我觉得杨老师的这本书,不仅是“好书”,更是“精品”!
“精”:全书从.NET Core的入门知识点,到进阶的源代码和原理分析,再到落地案例及其优化,可谓囊括了.NET Core初学者和进阶开发者的大部分学习线路,而这些线路被浓缩在10章的内容中,还能讲得通透,可谓章章都是精华。
“品”:本书内容由浅入深,有对C#新语法的诠释,也有对源代码和反编译代码的严谨解析,更有配合上手练习的案例,以及不少针对.NET和组件的揭秘,逻辑严谨,层层深入。从本书的细节上更是能够看到杨老师的用心,书中有非常多对可能会影响读者理解的周边知识点的及时说明,可见杨老师在编写本书的时候时刻都在换位思考。这是对读者的尊重,对技术的敬重,当然也是对作者的折磨。这些细致入微的思考与打磨,也奠定了一本有品质的图书的基石。
由于我最近一直从事的工作与开源框架的架构有关,我对书中关于DDD(domain-driven design,领域驱动设计)的内容特别感兴趣,正如书名所示“项目实战”,实战就离不开和场景匹配的成熟的架构与设计模式,而DDD正是我近些年关注和实战最多的设计模式,我认为这也是截至目前非常适合广泛使用的面向微服务、面向复杂业务场景的设计模式之一。当然,DDD也同样有不适合的场景。我非常认同书中所阐述的观点:“架构设计存在一定的主观因素,而且因行业、公司、团队的不同而不同,并没有哪个架构设计是绝对对的或错的,没有最好的架构,只有最适合的架构。”书中从DDD的历史背景和概念,到完整的落地案例和技巧,精致而饱满,一口气读下来酣畅淋漓。相信学习完.NET Core的基础开发技能,加上适合自己的设计模式,开发者一定能够如虎添翼般地开展相关的开发工作。
能够看到如此优质的图书出版,我非常开心。在赞叹本书是.NET开发者的福音的同时,我也要代表广大开发者感谢杨老师花费3年的时间为我们精心撰写这本好书!
盛派网络创始人兼首席架构师
微软RD/MVP
微软技术俱乐部(苏州)主席
苏震巍
2022年4月24日