Clean Architecture:软件架构与设计匠艺(英文版)

Clean Architecture:软件架构与设计匠艺(英文版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] ,
2018-07
版次: 1
ISBN: 9787121342615
定价: 109.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 400页
字数: 513千字
正文语种: 英语
104人买过
  •   通过合理运用软件架构的通用法则,可以显著提升开发者在所有软件系统全生命周期内的生产力。如今,传奇软件匠师Robert C.Martin(Bob大叔),携畅销书Clean Code与The Clean Coder所获巨大成功之威,深刻揭示这些法则并亲授运用之道。
      Martin在《Clean Architecture:软件架构与设计匠艺(英文版)》中远不只是在为我们提供选项,他几乎是在将软件世界中横跨半个世纪的各种架构类型的设计经验倾囊相授,目的是让读者既能阅尽所有架构选型,又可通晓其如何决定成败。Bob大叔也的确不负厚望,《Clean Architecture:软件架构与设计匠艺(英文版)》中充满了直接而有效的解决方案,以供读者应对所面临的真正挑战——那些或最终成就或彻底破坏你项目的挑战。 Robert C Martin (Uncle Bob) 从1970年编程至今。他是 cleancoders.com 的联合创始人,该网站为软件开发者提供在线视频教育。同时,他还是 Unclde Bob 咨询公司 LLC 的创始人,该公司为全球大型公司 提供软件开发咨询服务、培训,以及技能培训服务。同时,他任 8th Light, Inc 的”首席匠人”一职,该公司是位于芝加哥的一家以加软件开发咨询公司。本书作者在各种行业周刊上出版了十余篇文章,同时也是国际会议和行业峰会经常邀请的演讲者。他曾任 C++ Report 的主编三年,并且曾任敏捷联盟(Agile Aliance)的主席。
    Robert C Martin (Uncle Bob) 从1970年编程至今。他是 cleancoders.com 的联合创始人,该网站为软件开发者提供在线视频教育。同时,他还是 Unclde Bob 咨询公司 LLC 的创始人,该公司为全球大型公司 提供软件开发咨询服务、培训,以及技能培训服务。同时,他任 8th Light, Inc 的”首席匠人”一职,该公司是位于芝加哥的一家以加软件开发咨询公司。本书作者在各种行业周刊上出版了十余篇文章,同时也是国际会议和行业峰会经常邀请的演讲者。他曾任 C++ Report 的主编三年,并且曾任敏捷联盟(Agile Aliance)的主席。 PART I Introduction 1
    Chapter 1 What Is Design and Architecture? 3
    The Goal? 4
    Case Study 5
    Conclusion 12
    Chapter 2 A Tale of Two Values 13
    Behavior 14
    Architecture 14
    The Greater Value 15
    Eisenhower’s Matrix 16
    Fight for the Architecture 18
    PART II Starting with the Bricks: Programming Paradigms 19
    Chapter 3 Paradigm Overview 21
    Structured Programming 22
    Object-Oriented Programming 22
    Functional Programming 22
    Food for Thought 23
    Conclusion 24
    Chapter 4 Structured Programming 25
    Proof 27
    A Harmful Proclamation 28
    Functional Decomposition 29
    No Formal Proofs 30
    Science to the Rescue 30
    Tests 31
    Conclusion 31
    Chapter 5 Object-Oriented Programming 33
    Encapsulation? 34
    Inheritance? 37
    Polymorphism? 40
    Conclusion 47
    Chapter 6 Functional Programming 49
    Squares of Integers 50
    Immutability and Architecture 52
    Segregation of Mutability 52
    Event Sourcing 54
    Conclusion 56
    PART III Design Principles 57
    Chapter 7 SRP: The Single Responsibility Principle 61
    Symptom 1: Accidental Duplication 63
    Symptom 2: Merges 65
    Solutions 66
    Conclusion 67
    Chapter 8 OCP: The Open-Closed Principle 69
    A Thought Experiment 70
    Directional Control 74
    Information Hiding 74
    Conclusion 75
    Chapter 9 LSP: The Liskov Substitution Principle 77
    Guiding the Use of Inheritance 78
    The Square/Rectangle Problem 79
    LSP and Architecture 80
    Example LSP Violation 80
    Conclusion 82
    Chapter 10 ISP: The Interface Segregation Principle 83
    ISP and Language 85
    ISP and Architecture 86
    Conclusion 86
    Chapter 11 DIP: The Dependency Inversion Principle 87
    Stable Abstractions 88
    Factories 89
    Concrete Components 91
    Conclusion 91
    PART IV Component Principles 93
    Chapter 12 Components 95
    A Brief History of Components 96
    Relocatability 99
    Linkers 100
    Conclusion 102
    Chapter 13 Component Cohesion 103
    The Reuse/Release Equivalence Principle 104
    The Common Closure Principle 105
    The Common Reuse Principle 107
    The Tension Diagram for Component Cohesion 108
    Conclusion 110
    Chapter 14 Component Coupling 111
    The Acyclic Dependencies Principle 112
    Top-Down Design 118
    The Stable Dependencies Principle 120
    The Stable Abstractions Principle 126
    Conclusion 132
    PART V Architecture 133
    Chapter 15 What Is Architecture? 135
    Development 137
    Deployment 138
    Operation 138
    Maintenance 139
    Keeping Options Open 140
    Device Independence 142
    Junk Mail 144
    Physical Addressing 145
    Conclusion 146
    Chapter 16 Independence 147
    Use Cases 148
    Operation 149
    Development 149
    Deployment 150
    Leaving Options Open 150
    Decoupling Layers 151
    Decoupling Use Cases 152
    Decoupling Mode 153
    Independent Develop-ability 153
    Independent Deployability 154
    Duplication 154
    Decoupling Modes (Again) 155
    Conclusion 158
    Chapter 17 Boundaries: Drawing Lines 159
    A Couple of Sad Stories 160
    FitNesse 163
    Which Lines Do You Draw, and When Do You Draw Them? 165
    What About Input and Output? 169
    Plugin Architecture 170
    The Plugin Argument 172
    Conclusion 173
    Chapter 18 Boundary Anatomy 175
    Boundary Crossing 176
    The Dreaded Monolith 176
    Deployment Components 178
    Threads 179
    Local Processes 179
    Services 180
    Conclusion 181
    Chapter 19 Policy and Level 183
    Level 184
    Conclusion 187
    Chapter 20 Business Rules 189
    Entities 190
    Use Cases 191
    Request and Response Models 193
    Conclusion 194
    Chapter 21 Screaming Architecture 195
    The Theme of an Architecture 196
    The Purpose of an Architecture 197
    But What About the Web? 197
    Frameworks Are Tools, Not Ways of Life 198
    Testable Architectures 198
    Conclusion 199
    Chapter 22 The Clean Architecture 201
    The Dependency Rule 203
    A Typical Scenario 207
    Conclusion 209
    Chapter 23 Presenters and Humble Objects 211
    The Humble Object Pattern 212
    Presenters and Views 212
    Testing and Architecture 213
    Database Gateways 214
    Data Mappers 214
    Service Listeners 215
    Conclusion 215
    Chapter 24 Partial Boundaries 217
    Skip the Last Step 218
    One-Dimensional Boundaries 219
    Facades 220
    Conclusion 220
    Chapter 25 Layers and Boundaries 221
    Hunt the Wumpus 222
    Clean Architecture? 223
    Crossing the Streams 226
    Splitting the Streams 227
    Conclusion 228
    Chapter 26 The Main Component 231
    The Ultimate Detail 232
    Conclusion 237
    Chapter 27 Services: Great and Small 239
    Service Architecture? 240
    Service Benefits? 240
    The Kitty Problem 242
    Objects to the Rescue 244
    Component-Based Services 245
    Cross-Cutting Concerns 246
    Conclusion 247
    Chapter 28 The Test Boundary 249
    Tests as System Components 250
    Design for Testability 251
    The Testing API 252
    Conclusion 253
    Chapter 29 Clean Embedded Architecture 255
    App-titude Test 258
    The Target-Hardware Bottleneck 261
    Conclusion 273
    PART VI Details 275
    Chapter 30 The Database Is a Detail 277
    Relational Databases 278
    Why Are Database Systems So Prevalent? 279
    What If There Were No Disk? 280
    Details 281
    But What about Performance? 281
    Anecdote 281
    Conclusion 283
    Chapter 31 The Web Is a Detail 285
    The Endless Pendulum 286
    The Upshot 288
    Conclusion 289
    Chapter 32 Frameworks Are Details 291
    Framework Authors 292
    Asymmetric Marriage 292
    The Risks 293
    The Solution 294
    I Now Pronounce You … 295
    Conclusion 295
    Chapter 33 Case Study: Video Sales 297
    The Product 298
    Use Case Analysis 298
    Component Architecture 300
    Dependency Management 302
    Conclusion 302
    Chapter 34 The Missing Chapter 303
    Package by Layer 304
    Package by Feature 306
    Ports and Adapters 308
    Package by Component 310
    The Devil Is in the Implementation Details 315
    Organization versus Encapsulation 316
    Other Decoupling Modes 319
    Conclusion: The Missing Advice 321
    PART VII Appendix 323
    Appendix A Architecture Archaeology 325
    Index 375
  • 内容简介:
      通过合理运用软件架构的通用法则,可以显著提升开发者在所有软件系统全生命周期内的生产力。如今,传奇软件匠师Robert C.Martin(Bob大叔),携畅销书Clean Code与The Clean Coder所获巨大成功之威,深刻揭示这些法则并亲授运用之道。
      Martin在《Clean Architecture:软件架构与设计匠艺(英文版)》中远不只是在为我们提供选项,他几乎是在将软件世界中横跨半个世纪的各种架构类型的设计经验倾囊相授,目的是让读者既能阅尽所有架构选型,又可通晓其如何决定成败。Bob大叔也的确不负厚望,《Clean Architecture:软件架构与设计匠艺(英文版)》中充满了直接而有效的解决方案,以供读者应对所面临的真正挑战——那些或最终成就或彻底破坏你项目的挑战。
  • 作者简介:
    Robert C Martin (Uncle Bob) 从1970年编程至今。他是 cleancoders.com 的联合创始人,该网站为软件开发者提供在线视频教育。同时,他还是 Unclde Bob 咨询公司 LLC 的创始人,该公司为全球大型公司 提供软件开发咨询服务、培训,以及技能培训服务。同时,他任 8th Light, Inc 的”首席匠人”一职,该公司是位于芝加哥的一家以加软件开发咨询公司。本书作者在各种行业周刊上出版了十余篇文章,同时也是国际会议和行业峰会经常邀请的演讲者。他曾任 C++ Report 的主编三年,并且曾任敏捷联盟(Agile Aliance)的主席。
    Robert C Martin (Uncle Bob) 从1970年编程至今。他是 cleancoders.com 的联合创始人,该网站为软件开发者提供在线视频教育。同时,他还是 Unclde Bob 咨询公司 LLC 的创始人,该公司为全球大型公司 提供软件开发咨询服务、培训,以及技能培训服务。同时,他任 8th Light, Inc 的”首席匠人”一职,该公司是位于芝加哥的一家以加软件开发咨询公司。本书作者在各种行业周刊上出版了十余篇文章,同时也是国际会议和行业峰会经常邀请的演讲者。他曾任 C++ Report 的主编三年,并且曾任敏捷联盟(Agile Aliance)的主席。
  • 目录:
    PART I Introduction 1
    Chapter 1 What Is Design and Architecture? 3
    The Goal? 4
    Case Study 5
    Conclusion 12
    Chapter 2 A Tale of Two Values 13
    Behavior 14
    Architecture 14
    The Greater Value 15
    Eisenhower’s Matrix 16
    Fight for the Architecture 18
    PART II Starting with the Bricks: Programming Paradigms 19
    Chapter 3 Paradigm Overview 21
    Structured Programming 22
    Object-Oriented Programming 22
    Functional Programming 22
    Food for Thought 23
    Conclusion 24
    Chapter 4 Structured Programming 25
    Proof 27
    A Harmful Proclamation 28
    Functional Decomposition 29
    No Formal Proofs 30
    Science to the Rescue 30
    Tests 31
    Conclusion 31
    Chapter 5 Object-Oriented Programming 33
    Encapsulation? 34
    Inheritance? 37
    Polymorphism? 40
    Conclusion 47
    Chapter 6 Functional Programming 49
    Squares of Integers 50
    Immutability and Architecture 52
    Segregation of Mutability 52
    Event Sourcing 54
    Conclusion 56
    PART III Design Principles 57
    Chapter 7 SRP: The Single Responsibility Principle 61
    Symptom 1: Accidental Duplication 63
    Symptom 2: Merges 65
    Solutions 66
    Conclusion 67
    Chapter 8 OCP: The Open-Closed Principle 69
    A Thought Experiment 70
    Directional Control 74
    Information Hiding 74
    Conclusion 75
    Chapter 9 LSP: The Liskov Substitution Principle 77
    Guiding the Use of Inheritance 78
    The Square/Rectangle Problem 79
    LSP and Architecture 80
    Example LSP Violation 80
    Conclusion 82
    Chapter 10 ISP: The Interface Segregation Principle 83
    ISP and Language 85
    ISP and Architecture 86
    Conclusion 86
    Chapter 11 DIP: The Dependency Inversion Principle 87
    Stable Abstractions 88
    Factories 89
    Concrete Components 91
    Conclusion 91
    PART IV Component Principles 93
    Chapter 12 Components 95
    A Brief History of Components 96
    Relocatability 99
    Linkers 100
    Conclusion 102
    Chapter 13 Component Cohesion 103
    The Reuse/Release Equivalence Principle 104
    The Common Closure Principle 105
    The Common Reuse Principle 107
    The Tension Diagram for Component Cohesion 108
    Conclusion 110
    Chapter 14 Component Coupling 111
    The Acyclic Dependencies Principle 112
    Top-Down Design 118
    The Stable Dependencies Principle 120
    The Stable Abstractions Principle 126
    Conclusion 132
    PART V Architecture 133
    Chapter 15 What Is Architecture? 135
    Development 137
    Deployment 138
    Operation 138
    Maintenance 139
    Keeping Options Open 140
    Device Independence 142
    Junk Mail 144
    Physical Addressing 145
    Conclusion 146
    Chapter 16 Independence 147
    Use Cases 148
    Operation 149
    Development 149
    Deployment 150
    Leaving Options Open 150
    Decoupling Layers 151
    Decoupling Use Cases 152
    Decoupling Mode 153
    Independent Develop-ability 153
    Independent Deployability 154
    Duplication 154
    Decoupling Modes (Again) 155
    Conclusion 158
    Chapter 17 Boundaries: Drawing Lines 159
    A Couple of Sad Stories 160
    FitNesse 163
    Which Lines Do You Draw, and When Do You Draw Them? 165
    What About Input and Output? 169
    Plugin Architecture 170
    The Plugin Argument 172
    Conclusion 173
    Chapter 18 Boundary Anatomy 175
    Boundary Crossing 176
    The Dreaded Monolith 176
    Deployment Components 178
    Threads 179
    Local Processes 179
    Services 180
    Conclusion 181
    Chapter 19 Policy and Level 183
    Level 184
    Conclusion 187
    Chapter 20 Business Rules 189
    Entities 190
    Use Cases 191
    Request and Response Models 193
    Conclusion 194
    Chapter 21 Screaming Architecture 195
    The Theme of an Architecture 196
    The Purpose of an Architecture 197
    But What About the Web? 197
    Frameworks Are Tools, Not Ways of Life 198
    Testable Architectures 198
    Conclusion 199
    Chapter 22 The Clean Architecture 201
    The Dependency Rule 203
    A Typical Scenario 207
    Conclusion 209
    Chapter 23 Presenters and Humble Objects 211
    The Humble Object Pattern 212
    Presenters and Views 212
    Testing and Architecture 213
    Database Gateways 214
    Data Mappers 214
    Service Listeners 215
    Conclusion 215
    Chapter 24 Partial Boundaries 217
    Skip the Last Step 218
    One-Dimensional Boundaries 219
    Facades 220
    Conclusion 220
    Chapter 25 Layers and Boundaries 221
    Hunt the Wumpus 222
    Clean Architecture? 223
    Crossing the Streams 226
    Splitting the Streams 227
    Conclusion 228
    Chapter 26 The Main Component 231
    The Ultimate Detail 232
    Conclusion 237
    Chapter 27 Services: Great and Small 239
    Service Architecture? 240
    Service Benefits? 240
    The Kitty Problem 242
    Objects to the Rescue 244
    Component-Based Services 245
    Cross-Cutting Concerns 246
    Conclusion 247
    Chapter 28 The Test Boundary 249
    Tests as System Components 250
    Design for Testability 251
    The Testing API 252
    Conclusion 253
    Chapter 29 Clean Embedded Architecture 255
    App-titude Test 258
    The Target-Hardware Bottleneck 261
    Conclusion 273
    PART VI Details 275
    Chapter 30 The Database Is a Detail 277
    Relational Databases 278
    Why Are Database Systems So Prevalent? 279
    What If There Were No Disk? 280
    Details 281
    But What about Performance? 281
    Anecdote 281
    Conclusion 283
    Chapter 31 The Web Is a Detail 285
    The Endless Pendulum 286
    The Upshot 288
    Conclusion 289
    Chapter 32 Frameworks Are Details 291
    Framework Authors 292
    Asymmetric Marriage 292
    The Risks 293
    The Solution 294
    I Now Pronounce You … 295
    Conclusion 295
    Chapter 33 Case Study: Video Sales 297
    The Product 298
    Use Case Analysis 298
    Component Architecture 300
    Dependency Management 302
    Conclusion 302
    Chapter 34 The Missing Chapter 303
    Package by Layer 304
    Package by Feature 306
    Ports and Adapters 308
    Package by Component 310
    The Devil Is in the Implementation Details 315
    Organization versus Encapsulation 316
    Other Decoupling Modes 319
    Conclusion: The Missing Advice 321
    PART VII Appendix 323
    Appendix A Architecture Archaeology 325
    Index 375
查看详情
系列丛书 / 更多
Clean Architecture:软件架构与设计匠艺(英文版)
Effective Java(第2版 英文版)
[美]Joshua Bloch(约书亚·布洛赫) 著
Clean Architecture:软件架构与设计匠艺(英文版)
代码大全(第2版 英文版)
[美]Steve McConnell(史蒂夫·迈克康奈尔) 著
Clean Architecture:软件架构与设计匠艺(英文版)
Effective Javascript:编写高质量JavaScript代码的68个有效方法(英文版)
[美]David Herman(大卫·赫尔曼) 著
Clean Architecture:软件架构与设计匠艺(英文版)
Java虚拟机规范(Java SE 8版 英文版)
[美]Tim(蒂姆·林霍尔姆)、[美]Frank(费兰克·耶林)、[美]Gilad(吉拉德·布拉查)、[美]Alex Buckley(亚力克斯·巴克利) 著
Clean Architecture:软件架构与设计匠艺(英文版)
C11编程导论(英文版)
[美]Paul(保罗·戴特尔)、Harvey Deitel(哈维·戴特尔) 著
Clean Architecture:软件架构与设计匠艺(英文版)
C语言程序设计(第4版 英文版)
[美]Stephen G.Kochan(史蒂芬·G·寇肯) 著
Clean Architecture:软件架构与设计匠艺(英文版)
实现领域驱动设计英文版
[美]Vaughn Vernon(沃恩·弗农) 著
Clean Architecture:软件架构与设计匠艺(英文版)
Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法 英文版
[美]Matt Galloway(马特·加洛韦) 著
Clean Architecture:软件架构与设计匠艺(英文版)
Effective Ruby:编写高质量Ruby代码的48个有效方法(英文版)
[美]Peter J.Jones(彼得·J.琼斯) 著
Clean Architecture:软件架构与设计匠艺(英文版)
Java SE8 程序设计(第3版 英文版)
[美]Paul(保罗·戴特尔)、Harvey Deitel(哈维·戴特尔) 著
Clean Architecture:软件架构与设计匠艺(英文版)
Effective SQL:编写高质量SQL语句的61条有效方法(英文版)
约翰·L·威克斯(John L.Viescas);道格拉斯·J·斯蒂尔(Douglas J.Steele);本·G·克洛希尔(Ben G.Clothier)
Clean Architecture:软件架构与设计匠艺(英文版)
Objective-C程序设计(第6版 英文版)
[美]Stephen G.Kochan(史蒂芬.G.寇肯) 著
相关图书 / 更多
Clean Architecture:软件架构与设计匠艺(英文版)
Classical and Multilinear Harmonic Analysis
Camil Muscalu
Clean Architecture:软件架构与设计匠艺(英文版)
Classical Literary Criticism
Russell;D. A.;Winterbottom;Michael
Clean Architecture:软件架构与设计匠艺(英文版)
Clip Studio Paint国潮商业插画绘制与设计教程
黄洵 编著
Clean Architecture:软件架构与设计匠艺(英文版)
Cleopatra\'s Daughter A Novel
Moran;Michelle
Clean Architecture:软件架构与设计匠艺(英文版)
Classic Car The Definitive Visual History
Dunford;Chauney
Clean Architecture:软件架构与设计匠艺(英文版)
ClickHouse入门、实战与进阶
陈光剑 著
Clean Architecture:软件架构与设计匠艺(英文版)
Classical Sociological Theory
Calhoun;Craig;Gerteis;Joseph;Moody;James;Pfaff;Steven;Virk;Indermohan
Clean Architecture:软件架构与设计匠艺(英文版)
Clinical Governance 3e
Robert McSherry 著
Clean Architecture:软件架构与设计匠艺(英文版)
Cloud and Precipitation Microphysics: Principles and Parameterizations
Straka;Jerry M
Clean Architecture:软件架构与设计匠艺(英文版)
Clinical Prediction Models: A Practical Approach to Development, Validation, and Updating
Steyerberg;Ewout
Clean Architecture:软件架构与设计匠艺(英文版)
Classical descriptive set theory经典描述性集合论
Alexander S. Kechris 著
Clean Architecture:软件架构与设计匠艺(英文版)
Classical Dynamics
Greenwood;Donald T
您可能感兴趣 / 更多
Clean Architecture:软件架构与设计匠艺(英文版)
归属感:如何通过社群获得商业竞争优势
[美]大卫·斯平克斯(David Spinks) 著;颉腾文化 出品
Clean Architecture:软件架构与设计匠艺(英文版)
《世界上最大的肚子》2024百班千人暑期书目学前中班名师推荐全新正版现货速发
[美]雷米·查利普(美)柏顿·萨普瑞
Clean Architecture:软件架构与设计匠艺(英文版)
经济学通义
[美]阿门·A.阿尔钦 (美)威廉·R.艾伦 著;[美]杰里·L.乔丹 编
Clean Architecture:软件架构与设计匠艺(英文版)
数字化领导力 数字化转型锦囊,领导力精进指南 一本书掌握数字化转型领导力之道
[美]艾萨克·萨科里克 著;王磊 译;颉腾文化 出品;邓斌
Clean Architecture:软件架构与设计匠艺(英文版)
法哲学基本原理
[美]马克·C.墨菲
Clean Architecture:软件架构与设计匠艺(英文版)
雪花的故事(用照片展示雪花的秘密,为你揭开冬日奇景的奥秘)
[美]马克·卡西诺[美]乔恩·尼尔森
Clean Architecture:软件架构与设计匠艺(英文版)
杜甫传
[美]弗洛伦斯.艾思柯
Clean Architecture:软件架构与设计匠艺(英文版)
神奇的数字零:从数字0开始的极简数学史和人类发展史
[美]查尔斯·塞弗(Charles Seife)著 杨杨立汝 译
Clean Architecture:软件架构与设计匠艺(英文版)
环境的科学 (平装版)
[美]威廉·坎宁安 后浪
Clean Architecture:软件架构与设计匠艺(英文版)
美利坚在燃烧:20世纪60年代以来的警察暴力与黑人反抗
[美]伊丽莎白·欣顿 著 胡位钧 译
Clean Architecture:软件架构与设计匠艺(英文版)
儒教中国及其现代命运(三部曲)
[美]列文森 作者;[中]季剑青 译者
Clean Architecture:软件架构与设计匠艺(英文版)
逃家小兔成长绘本系列
[美]玛格丽特.怀兹.布朗