图书城.COM

敏捷软件开发:原则、模式与实践(C#版 英文注释版)

作者:
(美)马丁,(美)马丁
ISBN:
9787115165077 , 7115165076
出版社:
出版日期:
2008-1-1
定价:
¥89.00
¥71.20 80折 去当当网购买
¥66.80 75折 去卓越网购买 免费配送!
读过这本书吗?
最近在读 读过 想读 还不熟悉
用户评价:
0.00
还没有人评价过此书

我的评价:
图书城书列:
图书城书评:
>>我来评论这本书
在线阅读:
加载中...
内容提要:
本书旨在指导.NET程序员学习构建软件的最佳实践,从而创建更好的设计并提升.NET应用的质量。书中使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程,包含了极具价值的可重用的C#源代码,还重点讲述了如何使用UML和设计模式解决面向客户系统的问题。
  本书适于软件开发和管理人员提高自身水平学习之用,也适于用作高校计算机专业本科生、研究生以及软件学院的软件工程和软件开发相关课程的教材或参考书。
作者简介:
Robert C.Martin世界级的软件开发大师,著名软件咨询公司Object Mentor公司的创始人和总裁。曾经担任C++ Report杂志主编多年,也是设计模式和敏捷开发运动的主要倡导者之一。
编辑推荐:
软件开发的不朽经典,生动阐述面向对象原则、敏捷实践、UML和模式,大量C#实战示例,让你亲历现场,丰富的词汇和背景注释,助你轻松读经典。
“我最喜爱的技术作家Robert Martin善于通过实战展示技术,让读者能够以自己喜欢的方式逐步理解……请把Bob大叔当作你在敏捷世界里的导师。”
——Chris Sells,NET资深技术专家,微软“软件传奇人物”
“本书是对敏捷编程和敏捷原则最全面和最有价值的介绍……绝对是所有NET程序员必读之作。”
——Jesse Liberty,微软资探技术专家,ProgrammingC#作者
要想成为一名优秀的软件开发傊,需要熟练应用编程语言和开发工具,更重要的是能够领悟代美代码背后的原则和前人总结的经验——这正是本书的主题。本书凝聚了世界级软件开发大师Robert C Martin数十年软件开发和培训经验,Java版曾荣获计算机图书最高荣誉——Jolt大奖,是广受推的经典著作,自出版以来一直畅销不衰。
本书不仅是一部深入浅出、生动易懂的面向对象原则与模式著作,而且还是一部通俗的敏捷方法导引书和快速实用UML教程。通过本书你会发现,许多以前看起来非常枯燥费解的概念,忽然间都豁然开朗,变得鲜活生动起来。
C#版与此前的Java版相比,主要的更新包括加强了对UML的介绍章节,使其更加贴近实战,增加了对MVP模式的介绍等。注释版在原著基础上增加了丰富的词语注释和背景提示,使读者能够轻松地领略原汁原味的名著的风采。
目录:
Section I:Agile Development 敏捷开发 
Chapter 1:Agile Practices 敏捷实践 
 The Agile Alliance 敏捷联盟 
  Individuals and Interactions over Processes and Tools人和交互重于过程和工具 
  Working Software over Comprehensive Documentation 可以工作的软件重于面面俱到的文档 
  Customer Collaboration over Contract Negotiation 客户合作重于合同谈判 
  Responding to Change over Following a Plan 随时应对变化重于遵循计划 
 Principles 原则 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 2:Overview of Extreme Programming 极限编程概述 
 The Practices of Extreme Programming 极限编程实践 
  Whole Team 完整团队 
  User Stories 用户故事 
  Short Cycles 短交付周期 
  Acceptance Tests 验收测试 
  Pair Programming 结对编程 
  Test.Driven Development(TDD) 测试驱动开发 
  Collective Ownership 集体所有权 
  Continuous Integration 持续集成 
  Sustainable Pace 可持续的开发速度 
  Open Workspace 开放的工作空间 
  The Planning Game 计划游戏 
  Simple Design 简单设计 
  Refactoring 重构 
  Metaphor 隐喻 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 3:Planning 计划 
 Initial Exploration 初始探索 
  Spiking,Splitting,and Velocity 探究、分解和速度 
 Release Planning 发布计划 
 Iteration Planning 迭代计划 
 Defining“Done” 定义“完成” 
 Tlask Planning 任务计划 
 Iterating 迭代 
 Tracking 跟踪 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 4:Testing 测试 
 TIest-Driven Development 测试驱动开发 
  Example of Test-First Design 测试优先设计的例子 
  Test Isolation 测试促使模块之间隔离 
  Serendipitous Decoupling 意外获得的解耦合 
 Acceptance Tests 验收测试 
 Serendipitous Architecture 意外获得的构架 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 5:Refactoring 重构 
 A Simple Example of Refactoring:Generating Primes 素数产生程序:一个简单的重构示例 
  Unit Testing 单元测试 
  Refactoring 重构 
  The Final Reread 最后审视 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 6:A Programming Episode 一次编程实践 
 The Bowling Game 保龄球比赛 
 Conclusion 结论 
 Overview of the Rules of Bowling 保龄球规则概述 
Section II Agile Design 敏捷设计 
Chapter 7:What Is Agile Design 什么是敏捷设计 
 Design Smells 设计臭味 
  Design Smells——The Odors of Rotting Software 设计坏味——腐化软件的气味 
  Rigidity 僵化性 
  Fragility 脆弱性 
  Immobility 顽固性 
  Viscosity 粘滞性 
  Needless Complexity 不必要的复杂性 
  NeedLless Repetition 不必要的重复 
  Opacity 晦涩性 
 Why Software Rots 软件为何会腐化 
 The Copy Program Copy 程序 
  A Familiar Scenario 熟悉的场景 
  Agile Design of the Copy Program copy 程序的敏捷设计 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 8:The Single-Responsibility Principle(SRP) SRP:单一职责原则 
 Defining a Responsibility 定义职责 
 Separating Coupled Responsibilities 分离耦合的职责 
 Persistence 持久化 
 Conclusion 结论
 Bibliography 参考文献 
Chapter 9:The Open/Closed Principle(OCP) OCP:开放-封闭原则 
 Description 0f OCP OCP概述 
 The Shape Application Shape 应用程序 
  Violating OCP 违反OCP 
  Conforming to OCP 遵循OCP 
  Anticipation and“Natural”Structure 预测变化和“贴切的”结构 
  Putting the“Hooks”In 放置吊钩 
  Using Abstraction to Gain Explicit Closure使用抽象获得显式封闭 
  Using a Data-Driven Approach to Achieve Closure 使用“数据驱动"的方法获取封闭性 
 Conclusion结论 
 Bibliography参考文献 
Chapter 10:The Liskov Substitution Principle(LSP) LSP:Liskov替换原则 
 Violations 0f LSP 违反LS P的情形 
  A Simple Example 简单例子 
  A More Subtle Violation 更微妙的违反情形 
  A Real-World Example 实际的例子 
 Factoring Instead of Deriving 用提取公共部分的方法代替继承 
 Heuristics and Conventions 启发式规则和习惯用法 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 11:The Dependency-Inversion Principle(DIP) DIP:依赖倒置原则 
 Layering 层次化 
  Ownership Inversion 倒置的接口所有权 
  Dependence on Abstractions 依赖于抽象 
 A Simple DIP Example 简单的DIP示例 
  Finding the Underlying Abstraction 找出潜在的抽象 
 The Furnace Example 熔炉示例 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 12:The Interface Segregation Principle(ISP) ISP:接口隔离原则 
 Interface Pollution 接口污染 
 Separate Clients Mean Separate Interfaces 分离客户就是分离接口 
 Class Interfaces versus Object Interfaces 类接口与对象接口 
  Separation Through Delegation 使用委托分离接口 
  Separation Through Multiple Inheritance 使用多重继承分离接口 
 The ATM User Interface Example ATM用户界面的例子 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 13:Overview of UML for C# Programmers C#程序员UML概观 
 Class Diagrams 类图 
 Object Diagrams 对象图 
 Sequence Diagrams 顺序图 
 Collaboration Diagrams 协作图 
 State Diagrams 状态图 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 14:Working with Diagrams 使用UML 
 Why Model? 为什么建模 
  Why Build Models of Software? 为什么构建软件模型 
  Should We Build Comprehensive Designs Before Coding? 编码前应该构建面面俱到的设计吗 
 Making Effective Use of UML 有效使用UML 
  Communicating with Others 与他人交流 
  Road Maps 脉络图 
  Back-End Documentation 项目结束文档 
  What to Keep and What to Throw Away 要保留的和要丢弃的 
 Iterative Refinement 迭代式改进 
  Behavior First 行为优先 
  Check the Structure 检查结构 
  Envisioning the Code 想象代码 
  Evolution of Diagrams 图的演化 
 When and How to Draw Diagrams 何时以及如何绘制图示 
  When to Draw Diagrams and When to Stop 何时要画图,何时不要画图 
  CASE Tools CASE工具 
  But What About Documentation? 那么,文档呢 
 Conclusion 结论 
Chapter 15 State Diagrams 状态图 
 The Basics 基础知识 
  Special Events 特定事件 
  Superstates 超状态 
  Initial and Final Pseudostates 初始伪状态和结束伪状态 
 Using FSM Diagrams 使用FSM图示 
 Conclusion 结论 
Chapter 16:Object Diagrams 对象图 
 A Snapshot in Time 即时快照 
 Active Objects 主动对象 
 Conclusion 结论 
Chapter 17:Use Cases 示例 
 Writing Use Cases 编写用例 
  Alternate Courses 备选流程 
  What Else? 其他东西呢 
 Diagramming Use Cases 用例图 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 18:Sequence Diagrams 顺序图 
 The Basics 基础知识 
  Obj ects,Lifelines,Messages,and Other Odds and Ends 对象、生命线、消息及其他 
  Creation and Destruction 创建和析构 
  Simple Loops 简单循环 
  Cases and Scenarios 时机和场合 
 Advanced Concepts 高级概念 
  Loops and Conditions 循环和条件 
  Messages That Take Time 耗费时间的消息 
  Asynchronous Messages 异步消息 
  Multiple Threads 多线程 
  Active Objects 主动对象 
  Sending Messages to Interfaces 向接口发送消息 
 Conclusion 结论 
Chapter 19:Class Diagrams 类图 
 The Basics 基础知识 
  Classes 类 
  Association 关联 
  Inheritance 继承 
 An Example Class Diagram 类图示例 
 The Details 细节 
  Class Stereotypes 类衍型 
  Abstract Classes 抽象类 
  Properties 属性 
  Aggregation 聚集 
  Composition 组合 
  Multiplicity 多重性  
Association Stereotypes 关联衍型 
  Nested Classes 内嵌类 
  Association Classes 关联类 
  Association Qualifiers 关联修饰符 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 20 Heuristics and C0ffee 咖啡的启示 
 The Mark IV Special Coffee Maker Mark IV型专用咖啡机 
  Specification 规格说明书 260
  A Common but Hideous Solution 常见的丑陋方案 
  Imaginary Abstraction 虚构的抽象 
  An Improved Solution 改进方案 
  Implementing the Abstract Model 实现抽象模型 
  The Benefits of This Design 这个设计的好处 
 Ooverkill 面向对象过度设计 
 Bibliography 参考文献 
Section Ⅲ The Payroll Case Study 薪水支付案例研究 
 Rudimentary Specification of the Payroll System 薪水支付系统的初步规格说明 
  Exercise 练习 
  Use Case 1:Add New Employee 用例1:增加新雇员 
  Use Case 2:Deleting an Employee 用例2:删除雇员 
  Use Case 3:Post a Time Card 用例3:登记考勤卡 
  Use Case 4:Posting a Sales Receipt 用例4:登记销售凭条 
  Use Case 5:Posting a Union Service Charge 用例5:登记工会服务费 
  Use Case 6:Changing Employee Details 用例6:更改雇员明细 
  Use Case 7:Run the Payroll for Today 用例7:现在运行薪水支付系统 
Chapter 21:Command and Active Object:Versatility and Multitasking COMMAND模式和ACTlVE OBJECT模式:多功能与多任务 
 Simple Commands 简单的Command 
  Transactions 事务 
  Physical and Temporal Decoupling 实体上解耦和时间上解耦 
  Temporal Decoupling 时间上解耦 
 Undo Method Undo()方法 
 Active Object ACTIVE OBJECT模式 
 Conclusion 结论 
 Bibliography 参考文献 
Chapter 22:Template Method and Strategy:Inheritance versus Deleg
我来评论这本书
加入到博客或社交网站:
更多图书...
联系客服 - 加入到博客 - 图书目录 - 关于图书城.COM - 对外合作 - 购书指南 - 可以在线阅读吗?
图书城.COM © TuShuCheng.com - 京ICP备06069800