目前无货,
欢迎选购其他类似产品。
前翻 后翻
正在播放... 已暂停   您正在聆听的 Audible 音频版本的样品。
了解更多信息
查看此图片

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

平均3.9 星
5 星
7
4 星
3
3 星
2
2 星
3
1 星
0
平均3.9 星 15条亚马逊美国的评论 us-flag |
| 天天低价·正品质优
|
分享
广告

显示所有 格式和版本 隐藏其他格式和版本
亚马逊价格
全新品最低价 非全新品最低价
 

click to open popover

无需Kindle设备,下载免费Kindle阅读软件,即可在您的手机、电脑及平板电脑上畅享阅读。

  • iPhone/iPad/Mac
  • Android手机或平板电脑

请输入您的手机号码,获取Kindle阅读软件的下载链接。



基本信息

  • 出版社: Addison-Wesley Professional; 1 (2008年3月8日)
  • 丛书名: Net Objectives Lean-Agile Series
  • 精装: 448页
  • 语种: 英语
  • ISBN: 0321509366
  • 条形码: 9780321509369
  • 商品尺寸: 18.3 x 2.5 x 23.6 cm
  • 商品重量: 794 g
  • ASIN: 0321509366
  • 用户评分: 分享我的评价
  • 亚马逊热销商品排名: 图书商品里排第3,008,481名 (查看图书商品销售排行榜)
  •  您想告诉我们您发现了更低的价格?

商品描述

作者简介

Scott L. Bain is a thirty-year veteran in computer technology, with a background in development, engineering, and design. He has also designed, delivered, and managed training programs for certification and end-user skills, both in traditional classrooms and via distance learning. For the past eight years, Scott has been working for Net Objectives in Puget Sound, teaching courses and consulting on design patterns, refactoring, unit testing, and test-driven development. Along with Net Objectives CEO Alan Shalloway, he has contributed significantly to the integration of design patterns in Agile environments. Scott is a frequent speaker at developer conferences such as JavaOne and SDWest.

目录

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

商品评论

在亚马逊中国上尚未有买家评论。
5 星
4 星
3 星
2 星
1 星

此商品在美国亚马逊上最有用的商品评论 (beta)

美国亚马逊: 平均3.9 星 15 条评论
平均2.0 星 Two Stars 2016年10月17日
评论者 Amazon Customer - 已在美国亚马逊上发表
版本: Kindle电子书 已确认购买
Anyone interested in this topic probably already knows most of the concepts that are discussed.
14/16 人认为此评论有用
平均5.0 星 A Gold Mine of Wisdom 2008年4月2日
评论者 T Anderson - 已在美国亚马逊上发表
版本: 精装 已确认购买
This book is a gold mine of wisdom.

This book contains a ton of wisdom that has come out of the software engineering field over the years. It brings together a lot of software development best practices that can be found in other resources and puts them together under the umbrella of Emergent Design.

He covers patterns, principles, processes, and practices by presenting the best of each that has been proven to work again and again. The common sense communicated out of this book is priceless.

The author has a presentation that touches on a lot of the content found in the book. It can be viewed by Googling for "EmergentDesign_12_11_2007".

Forward thinking is something that I find lacking in a lot of the environments I am exposed too, especially development environments. This book nails how to do forward thinking when it comes to software design and development. You will end up making your solutions more valuable with each change, instead of degrading them with each change if you follow the advice in this book.

If you do development, this is a must read. I would advise all team leads to get rid of anyone who has not read this book by the end of the year.
0/2 人认为此评论有用
平均5.0 星 THE Book to read for developers whose code changes 2008年7月30日
评论者 a reader - 已在美国亚马逊上发表
版本: 精装 已确认购买
I think of this book as answering three questions:
* what do developers need to know to work as professionals?
* how does quality coding and design play into unfolding designs?
* what is the proper way to integrate refactoring, test-driven development and design patterns in the real world?

All too long this industry has allowed individuals to do what they like instead of what their teams and businesses need. Programming is not just about individual people's opinion of approach and quality, but about real issues that have been long identified.

This book weaves the tale of what is known and how to use it in a real environment. I didn't react to this book the way Mr. Vodde did as an advertisement for Net Objectives. I like the anecdotal story telling of how this knowledge is conveyed to realy people in real situations.

Developers often talk about their problems in getting others convinced of better approaches. What better way than to hear how Mr. Bain has done this himself - something good to learn.

While this book is probably thought of as being for agile developers (those who write code in iterations) it'd be highly useful for anyone. Everybody's code needs to morph over time - even if the first release is done in a classic waterfall.
0/1 人认为此评论有用
平均5.0 星 Excellent book 2012年12月24日
评论者 C. Sadowniczak - 已在美国亚马逊上发表
版本: 精装 已确认购买
I work in the software industry in Aerospace. I had borrowed this book from a co-worker and found it so helpful that I bought a copy for myself.