Wonder Club world wonders pyramid logo
×

Emergent Design: The Evolutionary Nature of Professional Software Development (paperback) Book

Emergent Design: The Evolutionary Nature of Professional Software Development (paperback)
Be the First to Review this Item at Wonderclub
X
Emergent Design: The Evolutionary Nature of Professional Software Development (paperback), For software to consistently deliver promised results, software development must mature into a true profession. Emergent Design points the way. As software continues to evolve and mature, software development processes become more com, Emergent Design: The Evolutionary Nature of Professional Software Development (paperback)
out of 5 stars based on 0 reviews
5
0 %
4
0 %
3
0 %
2
0 %
1
0 %
Digital Copy
PDF format
1 available   for $99.99
Original Magazine
Physical Format

Sold Out

  • Emergent Design: The Evolutionary Nature of Professional Software Development (paperback)
  • Written by author Scott Bain
  • Published by Addison-Wesley, 11/25/2012
  • For software to consistently deliver promised results, software development must mature into a true profession. Emergent Design points the way. As software continues to evolve and mature, software development processes become more com
Buy Digital  USD$99.99

WonderClub View Cart Button

WonderClub Add to Inventory Button
WonderClub Add to Wishlist Button
WonderClub Add to Collection Button

Book Categories

Authors

Series Foreword xvii

Preface xxiii

Acknowledgments xxix

About the Author xxxi

Chapter 1: Software as a Profession 1

How Long Have Human Beings Been Making Software? 1

What Sort of Activity Is Software Development? 2

What Is Missing? 6

Who Is Responsible? 8

Uniqueness 9

Chapter 2: Out of the Closet, Off to the Moon 11

Patterns and Professionalism in Software Development 11

Andrea’s Closet 12

Off to the Moon 18

The Value of Patterns 26

Summary 27

Chapter 3: The Nature of Software Development 29

We Fail Too Much 30

Definitions of Success 31

The Standish Group 32

Doing the Wrong Things 34

Doing the Things Wrong 35

Time Goes By, Things Improve 38

One Reason: The Civil Engineering Analogy 38

Giving Up Hope 41

Ignoring Your Mother 42

Bridges Are Hard, Software Is Soft 43

We Swim in an Ocean of Change 43

Accept Change 44

Embrace Change 45

Capitalize on Change 46

A Better Analogy: Evolving Systems 49

Summary 52

Chapter 4: Evolution in Code: Stage 1 55

Procedural Logic Replaced with Object Structure 56

The Origins of Object Orientations and Patterns 56

An Example: Simple Conditionals and the Proxy Pattern 58

The Next Step: Either This or That 62

Why Bother? 65

One Among Many66

Summary 67

Chapter 5: Using and Discovering Patterns 69

Design from Context: More Carpentry from Scott 70

Patterns Lead to Another Cognitive Perspective 79

Patterns Help Give Us a Language for Discussing Design 79

Patterns in This Book 80

Summary 81

Chapter 6: Building a Pyramid 83

Elements of the Profession 83

A Visual Representation 85

Summary 86

Chapter 7: Paying Attention to Qualities and Pathologies 89

Encapsulation 91

Cohesion 91

Coupling 99

Redundancy 106

Testability 112

Readability 114

Pathologies 114

Summary 119

Chapter 8: Paying Attention to Principles and Wisdom 121

Separating Use from Creation 122

The Open-Closed Principle 129

The Dependency Inversion Principle 133

Advice from the Gang of Four 135

GoF: Consider What Should Be Variable in Your Design and Encapsulate the Concept That Varies 143

Summary 146

Chapter 9: Paying Attention to Practices 147

Consistent Coding Style 148

Programming by Intention 153

Encapsulating the Constructor 155

Commonality-Variability Analysis 161

Practices and Freedom 166

Summary 167

Chapter 10: Paying Attention to Disciplines: Unit Testing 169

Economies of Testing 169

JUnit Framework 175

Mock Objects 204

Summary 212

Chapter 11: Paying Attention to Disciplines: Refactoring 213

Refactoring Bad Code 215

Refactoring Good Code 216

Structural Changes Versus Functional Changes 218

Refactoring Helps You Choose Your Battles 219

Patterns Can Be Targets of Refactoring 220

Avoiding Refactoring: Prefactoring 220

The Mechanics of Refactoring 221

Refactoring Legacy Code 231

Summary 233

Chapter 12: Test-Driven Development 235

What Makes Development Test-Driven? 235

Testing and Quality 238

Test-Driven Development and Patterns 241

Mock Objects 244

Mock Turtles 248

Testing the Decorator Pattern 248

Summary 253

Chapter 13: Patterns and Forces 255

Making Decisions in an Evolving Design 255

Christopher Alexander and Forces 256

More Choices, More Forces 266

Summary 271

Chapter 14: Emergent Design: A Case Study 273

The Problem Domain: The MWave Corporation 273

The Teams 275

The Simplest Thing That Could Possibly Work 277

A New Requirement: Complex Machines 281

Oh, By the Way 283

More Good News 285

Summary: What a Long, Strange Trip It Has Been 287

Chapter 15: A Conclusion: 2020 289

Appendix A: Evolutionary Paths 291

Appendix B: Overview of Patterns Used in the Examples 301

Appendix C: The Principle of the Useful Illusion 385

Bibliography 393

Index 395


Login

  |  

Complaints

  |  

Blog

  |  

Games

  |  

Digital Media

  |  

Souls

  |  

Obituary

  |  

Contact Us

  |  

FAQ

CAN'T FIND WHAT YOU'RE LOOKING FOR? CLICK HERE!!!

X
WonderClub Home

This item is in your Wish List

Emergent Design: The Evolutionary Nature of Professional Software Development (paperback), For software to consistently deliver promised results, software development must mature into a true profession. <i>Emergent Design</i> points the way. As software continues to evolve and mature, software development processes become more com, Emergent Design: The Evolutionary Nature of Professional Software Development (paperback)

X
WonderClub Home

This item is in your Collection

Emergent Design: The Evolutionary Nature of Professional Software Development (paperback), For software to consistently deliver promised results, software development must mature into a true profession. <i>Emergent Design</i> points the way. As software continues to evolve and mature, software development processes become more com, Emergent Design: The Evolutionary Nature of Professional Software Development (paperback)

Emergent Design: The Evolutionary Nature of Professional Software Development (paperback)

X
WonderClub Home

This Item is in Your Inventory

Emergent Design: The Evolutionary Nature of Professional Software Development (paperback), For software to consistently deliver promised results, software development must mature into a true profession. <i>Emergent Design</i> points the way. As software continues to evolve and mature, software development processes become more com, Emergent Design: The Evolutionary Nature of Professional Software Development (paperback)

Emergent Design: The Evolutionary Nature of Professional Software Development (paperback)

WonderClub Home

You must be logged in to review the products

E-mail address:

Password: