Prix bas
CHF36.25
Habituellement expédié sous 2 à 4 jours ouvrés.
Informationen zum Autor Robert C. Martin (Uncle Bob) has been a programmer since 1970. He is founder of Uncle Bob Consulting! LLC! and cofounder with his son Micah Martin of The Clean Coders LLC. Martin has published dozens of articles in various trade journals and is a regular speaker at international conferences and trade shows. He has authored and edited many books! including: Designing Object Oriented C++ Applications Using the Booch Method! Patterns Languages of Program Design 3! More C++ Gems! Extreme Programming in Practice! Agile Software Development: Principles! Patterns! and Practices! UML for Java Programmers! Clean Code! and The Clean Coder . A leader in the industry of software development! Martin served for three years as editor-in-chief of the C++ Report ! and he served as the first chairman of the Agile Alliance. Klappentext Building upon the success of best-sellers The Clean Coder and Clean Code! legendary software craftsman Robert C. "Uncle Bob" Martin shows how to bring greater professionalism and discipline to application architecture and design. As with his other books! Martin's Clean Architecture doesn't merely present multiple choices and options! and say "use your best judgment": it tells you what choices to make! and why those choices are critical to your success. Martin offers direct! no-nonsense answers to key architecture and design questions like: What are the best high level structures for different kinds of applications! including web! database! thick-client! console! and embedded apps? What are the core principles of software architecture? What is the role of the architect! and what is he/she really trying to achieve? What are the core principles of software design? How do designs and architectures go wrong! and what can you do about it? What are the disciplines and practices of professional architects and designers? Clean Architecture is essential reading for every software architect! systems analyst! system designer! and software manager -- and for any programmer who aspires to these roles or is impacted by their work. Zusammenfassung Drawing on over a half-century of experience in software environments of every imaginable type, legendary software craftsman Martin explains to readers that, by applying universal rules of software architecture, they can dramatically improve developer productivity throughout the life of any software system. Inhaltsverzeichnis Foreword Preface Acknowledgments About the Author Part I: Introduction Chapter 1: What Is Design and Architecture? Chapter 2: A Tale of Two Values Part II: Starting with the Bricks: Programming Paradigms Chapter 3: Paradigm Overview Chapter 4: Structured Programming Chapter 5: Object-Oriented Programming Chapter 6: Functional Programming Part III: Design Principles Chapter 7: SRPThe Single Responsibility Principle Chapter 8: OCPThe Open-Closed Principle Chapter 9: LSPThe Liskov Substitution Principle Chapter 10: ISPThe Interface Segregation Principle Chapter 11: DIPThe Dependency Inversion Principle Part IV: Component Principles Chapter 12: Components Chapter 13: Component Cohesion Chapter 14: Component Coupling Part V: Architecture Chapter 15: What Is Architecture? Chapter 16: Independence Chapter 17: Boundaries: Drawing Lines Chapter 18: Boundary Anatomy Chapter 19: Policy and Level Chapter 20: Business Rules Chapter 21: Screaming Architecture Chapter 22: The Clean Architecture Chapter 23: Presenters and Humble Objects Chapter 24: Partial Boundaries Chapter 25: Layers and Boundaries Building upon the success of best-sellers The Clean Coder and Clean Code, legendary software craftsman Robert C. "Uncle Bob" Martin shows how to bring greater professionalism and discipline to application architecture and design.
As with his other books, Martin's Clean Architecture doesn't merely present multiple choices and options, and say "use your best judgment": it tells you what choices to make, and why those choices are critical to your success. Martin offers direct, no-nonsense answers to key architecture and design questions like:
What are the disciplines and practices of professional architects and designers? Clean Architecture is essential reading for every software architect, systems analyst, system designer, and software manager -- and for any programmer who aspires to these roles or is impacted by their work.
Résumé
Drawing on over a half-century of experience in software environments of every imaginable type, legendary software craftsman Martin explains to readers that, by applying universal rules of software architecture, they can dramatically improve developer productivity throughout the life of any software system.
Contenu
Foreword xv
Preface xix
Acknowledgments xxiii
About the Author xxv
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 Opti…