登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』领域驱动设计精粹

書城自編碼: 3257035
分類: 簡體書→大陸圖書→計算機/網絡计算机理论
作者: [美]Vaughn Vernon[沃恩·弗农]
國際書號(ISBN): 9787121348525
出版社: 电子工业出版社
出版日期: 2018-09-01


書度/開本: 16开 釘裝: 平装

售價:NT$ 423

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
生活不是掷骰子:理性决策的贝叶斯思维
《 生活不是掷骰子:理性决策的贝叶斯思维 》

售價:NT$ 386.0
万有引力书系·基辅罗斯:东斯拉夫文明的起源
《 万有引力书系·基辅罗斯:东斯拉夫文明的起源 》

售價:NT$ 661.0
康熙的红票:全球化中的清朝
《 康熙的红票:全球化中的清朝 》

售價:NT$ 437.0
PyTorch语音识别实战
《 PyTorch语音识别实战 》

售價:NT$ 386.0
多卖三倍
《 多卖三倍 》

售價:NT$ 252.0
海盗之书
《 海盗之书 》

售價:NT$ 381.0
亲美与反美:战后日本的政治无意识
《 亲美与反美:战后日本的政治无意识 》

售價:NT$ 325.0
亲爱的安吉维拉:或一份包含15条建议的女性主义宣言
《 亲爱的安吉维拉:或一份包含15条建议的女性主义宣言 》

售價:NT$ 274.0

建議一齊購買:

+

NT$ 832
《 数据密集型应用系统设计 》
+

NT$ 514
《 Elasticsearch实战 》
+

NT$ 644
《 架构整洁之道 》
+

NT$ 514
《 函数响应式领域建模 》
+

NT$ 743
《 响应式架构:消息模式Actor实现与Scala、Akka应用集成 》
編輯推薦:
本书让枯燥的DDD概念栩栩如生。无论你是软件开发者、架构师、分析师、咨询师还是软件客户,本书都能助你真正地理解DDD,并从它的美好前景中获益。本书并没有用大量细枝末节的知识点来淹没你,而是聚焦于那些为了寻求答案所必需的内容。本书内容简练易懂并具备可操作性。好评如潮的《实现领域驱动设计》作者Vaughn Vernon,将二十多年来在真实项目场景中运用DDD原则的经验进行总结,没有谁比他更适合阐明这其中的庞杂和微妙之处。
Vernon将指导你掌握每一项为了构建更好的软件所必须的核心DDD技术。你将学会如何使用强大的限界上下文模式来分离领域模型、如何在明确的边界内发展通用语言,以及如何帮助领域专家和开发者紧密协作来创造这种语言。他还展示了如何借助子域来处理遗留系统,以及如何利用各种团队关系和技术机制来集成多个限界上下文。
本书内容包括:
DDD可以为你或者你的组织做些什么,以及它为什么如此重要
DDD战略设计的基石:限界上下文和通用语言
使用子域进行战略设计
上下文映射:帮助团队更具策略性地进行协作并集成软件
使用聚合和领域事件进行战术设计
使用项目加速和管理工具来建立并维护
內容簡介:
领域驱动设计是时下软件设计领域中的热门话题,它通过指导我们构建领域模型,来表达丰富的软件功能需求,并由此实现可以满足用户真正的需要的软件。然而在真实的实践过程中,由于不同的角色对于DDD的核心概念和主要工具的理解不同,常常会造成协作上的不一致。为了帮助和指导面向对象开发人员、系统分析人员和设计人员更加合理地组织工作,各有侧重、有条不紊地进行复杂系统的开发,并有效地建立丰富而实用的领域模型。本书的作者Vaughn Vernon他也是《实现领域驱动设计》将自己近年来在领域驱动设计领域的理解进一步提炼,并将本书以精粹的形式呈现给广大的读者。 本书的内容包括: *DDD对于广大读者的意义-DDD 对我而言 * 从战略层面进行设计 - 如何运用限界上下文和通用语言、子域、上下文映射 * 从战术层面进行设计 - 如何运用聚合、领域事件 * 相关辅助工具- 加速和管理工具 当然,仅仅通过此书的阅读是无法深入的掌握领域驱动设计的精髓,无论你是什么经验水平或角色,请阅读本书并在项目中实践DDD。并在这之后,再重读此书,看看你从项目的经历中学到了什么,反复这样的循环,你将会获益匪浅。
關於作者:
Vaughn Vernon 是一位经验丰富的软件工匠,也是追求简化软件设计和实现的思想领袖。他是畅销书《实现领域驱动设计》和《响应式架构:消息模式Actor实现与Scala,Akka应用集成》的作者。他在全球面向数百位开发者教授过IDDD课程,并经常在行业会议上发表演讲。他对分布式计算、消息机制、特别是Actor模型非常有兴趣。Vaughn擅长领域驱动设计和使用Scala、Akka实现DDD方面的咨询。
覃宇,ThoughtWorks 高级咨询师,10余年移动应用开发经验,Android 技术专家,曾为AOSP贡献过测试用例;目前专注于移动应用的架构设计、自动化测试以及持续交付。译有《Kotlin实战》《Severless:无服务架构与AWS Lambda》等书。
目錄
目录
第1章DDD对我而言1
DDD很难掌握吗2
优秀设计、糟糕设计和有效设计3
战略设计8
战术设计9
学习过程与知识提炼10
让我们开始吧!11
第2章运用限界上下文与通用语言进行战略设计13
领域专家和业务驱动20
案例分析24
战略设计是必要的根基28
在质疑中统一32
发展通用语言38
应用场景42
如何持续45
架构46
本章小结50
第3章运用子域进行战略设计51
什么是子域52
子域类型53
应对复杂性54
本章小结56
第4章运用上下文映射进行战略设计57
映射的种类60
合作关系60
共享内核61
客户供应商62
跟随者63
防腐层64
开放主机服务65
已发布语言65
各行其道66
大泥球67
善用上下文映射69
基于SOAP的RPC70
RESTful HTTP72
消息机制74
上下文映射示例79
本章小结83
第5章运用聚合进行战术设计85
为什么使用它86
聚合的经验法则91
规则一:在聚合边界内保护业务规则不变性92
规则二:聚合要设计得小巧93
规则三:只能通过标识符引用其他聚合95
规则四:利用最终一致性更新其他聚合96
建立聚合模型99
慎重选择抽象级别104
大小适中的聚合106
可测试的单元108
本章小结108
第6章运用领域事件进行战术设计111
设计、实现并运用领域事件113
事件溯源119
本章小结121
第7章加速和管理工具123
事件风暴124
其他工具134
在敏捷项目中管理DDD135
运用SWOT分析法137
建模Spike和建模债务139
任务识别与工作量估算140
限制建模时间143
如何实施144
和领域专家打交道145
本章小结147
参考文献148
內容試閱
译者序
2003年,Eric Evans的《领域驱动设计》出版,第一次总结了这种软件设计和建模方法。这种方法让团队在质疑中发展出对复杂问题的统一认识,再利用战略设计和战术设计的各种手段,如同庖丁解牛般地分解并映射成各种构造块,最后信手拈来地运用各种设计模式将这些构造块一一化解。领域驱动设计在国外的技术社区一直是受到热捧、不断演化的软件设计方法。在Eric的著作面世十年之后,另一位DDD社区的领军人物Vaughn Vernon撰写了《实现领域驱动设计》。在这本著作中,Vaughn用一个连贯完整的实例,将领域驱动设计的所有概念和模式串连在一起,并将这些内容落地到了实例的代码之中。另外,他还在这部著作中总结了这十年来DDD社区涌现的一些新的架构风格和模式,如事件溯源和CQRS、REST风格的架构、事件驱动的架构、六边形架构,等等。
但这十几年间,在国内技术社区,领域驱动设计却像被遗忘在角落的宝藏等待着人们去发掘。当越来越复杂的业务场景开始频繁涌现,当工程实践和基础设施发展成熟,我们重新将视线汇聚在如何达成有效设计、将复杂的业务分而治之,我们发现这种设计方法仿佛早就看透了一切。当宝藏上的灰尘被拂去,领域驱动设计再次发出璀璨夺目的光芒,为我们指明应对软件系统复杂性的前进方向。
重新焕发青春活力的领域驱动设计得到了许多新的团队和架构师的青睐。他们首先就会去阅读这两部略微晦涩的著作,期望能快速地学习和掌握这种方法,但很快就会发现这并不轻松。首先,这两部著作要求读者具备一定的软件开发技术背景。在领域驱动设计的实践中,业务领域的专家在团队中扮演关键角色,他们往往没有软件开发的技术背景。两位软件巨匠在著作中详细阐述技术概念和实现代码时并没有照顾他们的感受。其次,这两部著作缺少对实际项目建模过程的描写。我们读到的内容多是概念的阐述和与之对应的实例及代码,对于建模实操的过程和工具着墨不多。而这些Magic Move却是很多团队实施领域驱动设计时迫切需要指导的关键步骤。最后,两部著作的内容包罗万象,读者容易被繁杂的知识淹没。两部著作中的一些概念和模式(如值对象、实体、工厂和仓储)早已深入人心。而另一部分模式和架构(如事件溯源和CQRS)则要求架构经验尚浅的读者通过项目实践或扩展阅读才能深入理解。
作为《实现领域驱动设计》一书的作者,Vaughn也意识到了这些问题,因此编写了这本精粹版。他将领域驱动设计的知识进行了提炼,保留了子域、限界上下文、上下文映射、聚合、领域事件这些核心概念,分别用一个章节进行了阐述。在最后一章,作者将他过去在一些团队中实践领域驱动设计时行之有效的具体操作方法(如风靡DDD社区的事件风暴工作坊)和工具进行了总结。本书的内容更侧重于高层次的战略设计,关于战术设计的内容偏少,尤其是代码在内容中的比重极低,完全不影响非技术背景的读者阅读。如果你想开始在团队中尝试领域驱动设计,对于团队(包括业务领域的专家)来说,本书的内容可以作为指导手册,让他们快速地进入状态,达到可以参与事件风暴工作坊的要求。我们建议读者们在阅读本书之后亲自组织并实施一次事件风暴工作坊,这是作者推荐的融合视觉、听觉和触觉三种学习方式的知识获取实践,是威力无穷的领域建模形式。在开发团队完成建模并最终需要落实到代码时,读者可以将本书作为武林秘籍的目录,结合前两部著作和本书参考文献中引用的其他专著一起阅读。
本书中,作者毫不掩饰地表达了对一些架构模式和具体实践的偏好。这些特色鲜明的观点之中,有些符合社区的普遍认知,如事件驱动的响应式架构、单元测试、事件风暴;有些却是对争议性话题的个人理解,如作者对于建模设计的工作量估算的看法。我们要牢记一点,没有银弹可以精确地匹配我们的产品和团队,或者完美地解决我们要面对的问题。任何工具和实践都有约束条件。读者们在采用这些工具和实践时,不妨仔细思考作者运用它们的上下文及其体现出的原则,结合自己的实际情况对工具和实践进行持续改进,避免出现教条主义错误。
我和同事笪磊结对完成了对本书的翻译。我们一人擅长技术,一人则擅长管理,翻译的过程也是我们默契配合、实践发展通用语言的知识获取过程。我们也将个人对关键内容的理解补充记录在译注中。我们力求翻译内容的准确和译注的质量,但受限于个人经验和知识水平,难免出现偏差甚至错误,还请各位读者斧正。
本书翻译工作于2017年末启动,两个月后初稿完成并进入了审校阶段。这期间正值农历戊戌年春节,我们的投入离不开家人们的理解和支持,谢谢她们。我们还要感谢提出宝贵意见的审校者:肖然、刘传湘、王威、朱傲、黄雨清、王林波。他们过去几年都活跃在国内DDD社区,也帮助过许多团队运用领域驱动设计方法和事件风暴工作坊来实施架构设计和系统改造。他们过硬的理论知识和丰富的实践经验让本书的翻译增色不少。最后,我们还要感谢专业和严谨的编辑张春雨和刘佳禾,本书也凝聚着你们的心血。
覃宇
2018年7月

为什么建模是一件既有趣又回报诸多的事情?从孩童时起,我就喜欢上了构建模型。那时我搭建最多的是汽车和飞机。当时我并不知道乐高玩具的存在。不过,从我的儿子很小的时候起,乐高就一直伴随着他的成长。用这些乐高积木构思和搭建模型是如此令人着迷。构建一个基础模型非常简单,几乎可以无止境地发挥想象力。
你也许也会联想到某些新潮的建筑模型。
模型在我们生活中无处不在。如果你喜欢玩桌游,你正是在使用模型。这里的模型可能是房产和业主,或是岛屿和幸存者,抑或是领地和建设活动,等等。同样,视频游戏也藏匿了多个模型。这些模型也许塑造了一个奇幻世界,那里充满了奇特的人物,他们扮演着梦幻般的角色。而扑克牌或者与之相关的游戏则是体现着竞技的模型。模型就是生活的一部分。人们总是在使用模型,虽然往往并不会承认。
为何如此?因为人人皆有各自的学习方式。虽然学习方式有很多种,但讨论最多的三种方式是听觉、视觉和触觉。听觉学习者通过声音和聆听来学习。视觉学习者通过阅读和浏览影像来学习。触觉学习者通过触摸的行为来学习。有趣的是,每个人都会热衷于某种学习方式,以至于有时会在其他学习方式上遇到麻烦。例如,触觉学习者能记住他们所做过的事情,但可能会忘记过程中所听见的内容。建模的过程主要会涉及视觉和触觉的刺激,因此你可能会认为视觉和触觉学习者比听觉学习者更具有优势。然而,事实并非总是如此,尤其当一组建模者在构建的过程中使用有声沟通时。换句话说,模型的构建过程应该适用于大多数人的学习方式。
从建模中学习的能力是人类与生俱来的,为何不利用它去构建已经给生活带来巨大帮助和影响的软件模型呢?事实上,软件模型需要人类去实现,也应该由人类去完成。我认为,人类本应该是优秀的软件模型构建者。
我强烈期望能够帮助你使用最好的建模工具来实现软件。这些工具已被打包成领域驱动设计工具箱,或称之为DDD工具箱。该工具箱实际上是一套模式,在Eric Evans所著的《领域驱动设计:软件核心复杂性应对之道》[DDD]一书中首次提出。我期望将DDD带给每一个人。如果必须表达我的观点,我想说的是,让我把DDD介绍给大家吧!DDD也本该如此,它是面向模型设计的人们用于构建卓越软件模型的工具箱。本书中,我会尽可能地简化DDD的学习和使用,并将其带给每一位读者。
对于听觉学习者而言,DDD通过团队的沟通来构建基于通用语言的开发模型,并以此创造学习的契机。对于视觉和触觉学习者来说,在团队进行战略和战术建模时使用DDD,其过程高度视觉化并非常注重实操。绘制上下文映射图 并使用事件风暴构建业务流程时尤为如此。因此,我相信DDD可以帮助到每一位期待通过模型构建来学习并且希望获得伟大成就的人。
本书所面向的读者
本书适用于对快速学习DDD核心概念和主要工具感兴趣的人。最主要的读者是软件架构师和开发者,他们将在项目中实践DDD。通常,软件开发者会很快发现DDD的美妙之处,并被其强大的工具深深地吸引。尽管如此,本书也可以帮助高管、领域专家、经理人、业务分析师、信息架构师和测试人员理解这一主题。并非只有那些从事信息技术(IT)行业和研发(R&D)行业的从业者才能从书中获益。
如果你是一位顾问,并且正在推荐你的客户使用DDD,那么请将本书提供给主要负责人,这会帮他们快速地理解DDD。如果你团队中的初级、中级甚至资深开发人员需要尽快在项目上采用DDD,但对其并不熟悉,请让他们阅读此书。本书至少可以让所有的项目负责人和开发人员熟悉DDD词汇表,并了解即将使用的主要工具,这将使他们能在项目推进过程中不断地分享一些有意义的内容。
无论你处于什么样的经验水平或担任什么样的职务,请阅读本书并在项目中实践DDD。之后再重读此书,看看你从项目中学到了什么,以及将来如何进一步改进。
本书的内容
第1章解释了DDD能为你和你所在的组织带来什么,并详尽地说明了你将学到什么,以及DDD为何如此重要。
第2章介绍了DDD的战略设计,并教授了DDD的重要概念:限界上下文与通用语言。第3章解释了子域,以及在新应用建模时如何使用子域应对新应用与现有遗留系统集成的复杂性。第4章教授了团队在战略层面上的各种协作方式,以及软件的集成方式,即所谓的上下文映射。
第5章将注意力转移到了使用聚合进行战术建模中。领域事件是一个与聚合共同使用的重要而又强大的战术建模工具,它是第6章的主题运用领域事件进行战术设计。
最后,第7章会着重介绍一些加速设计和管理项目的工具,它们可以帮助团队建立并保持研发节奏。以上的两个话题很少在其他DDD书籍中讨论,但确实是那些决心将DDD付诸实践的人所迫切需要的。
行文惯例
请在阅读中注意几点行文惯例。所有讨论的DDD工具都会用楷体字表示。例如,你将会看到以楷体印刷的限界上下文和领域事件。另外所有的源代码将会用等宽字体印刷。本书正文章节中出现在方括号内的首字母缩写代表相关的书籍和文献,它们都列在本书末尾的参考文献中。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.