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

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

| 天天低价·正品质优
|
分享
广告

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

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
  • 商品重量: 798 g
  • ASIN: 0321509366
  • 用户评分: 分享我的评价
  • 亚马逊热销商品排名: 图书商品里排第3,210,302名 (查看图书商品销售排行榜)
  • 您想告诉我们您发现了更低的价格?

商品描述

作者简介

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 星
0
4 星
0
3 星
0
2 星
0
1 星
0
与其他买家分享您的想法

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

美国亚马逊: 3.7 颗星,最多 5 颗星 15 条评论
2.0 颗星,最多 5 颗星Two Stars
于 2016年10月17日 - 已在美国亚马逊上发表
已确认购买
14 个人发现此评论有用.
5.0 颗星,最多 5 颗星A Gold Mine of Wisdom
于 2008年4月2日 - 已在美国亚马逊上发表
已确认购买
5.0 颗星,最多 5 颗星THE Book to read for developers whose code changes
于 2008年7月30日 - 已在美国亚马逊上发表
已确认购买
想发现更多商品? 查看这些页面以了解更多信息:led筒灯筒灯清华同方