图书介绍
敏捷软件开发 原则、模式与实践 C#版 英文注释版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)马丁(RobertC.Martin),马丁(MicahMartin)著 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115165076
- 出版时间:2008
- 标注页数:732页
- 文件大小:42MB
- 文件页数:767页
- 主题词:软件开发-英文
PDF下载
下载说明
敏捷软件开发 原则、模式与实践 C#版 英文注释版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
Section Ⅰ:Agile Development敏捷开发1
Chapter 1:Agile Practices敏捷实践3
The Agile Alliance敏捷联盟4
Individuals and Interactions over Processes and Tools人和交互重于过程和工具5
Working Software over Comprehensive Documentation可以工作的软件重于面面俱到的文档6
Customer Collaboration over Contract Negotiation客户合作重于合同谈判6
Responding to Change over Following a Plan随时应对变化重于遵循计划7
Principles原则8
Conclusion结论10
Bibliography参考文献11
Chapter 2:Overview of Extreme Programming极限编程概述13
The Practices of Extreme Programming极限编程实践14
Whole Team完整团队14
User Stories用户故事14
Short Cycles短交付周期15
Acceptance Tests验收测试15
Pair Programming结对编程16
Test-Driven Development(TDD)测试驱动开发17
Collective Ownership集体所有权17
Continuous Integration持续集成17
Sustainable Pace可持续的开发速度18
Open Workspace开放的工作空间18
The Planning Game计划游戏19
Simple Design简单设计19
Refactoring重构20
Metaphor隐喻21
Conclusion结论22
Bibliography参考文献22
Chapter 3:Planning计划23
Initial Exploration初始探索24
Spiking,Splitting,and Velocity探究、分解和速度24
Release Planning发布计划25
Iteration Planning迭代计划25
Defining“Done”定义“完成”26
Task Planning任务计划26
Iterating迭代27
Tracking跟踪28
Conclusion结论29
Bibliography参考文献29
Chapter 4:Testing测试31
Test-Driven Development测试驱动开发32
Example of Test-First Design测试优先设计的例子32
Test Isolation测试促使模块之间隔离33
Serendipitous Decoupling意外获得的解耦合36
Acceptance Tests验收测试36
Serendipitous Architecture意外获得的构架37
Conclusion结论38
Bibliography参考文献39
Chapter 5:Refactoring重构41
A Simple Example of Refactoring:Generating Primes素数产生程序:一个简单的重构示例42
Unit Testing单元测试44
Refactoring重构45
The Final Reread最后审视49
Conclusion结论53
Bibliography参考文献54
Chapter 6:A Programming Episode一次编程实践55
The Bowling Game保龄球比赛56
Conclusion结论98
Overview of the Rules of Bowling保龄球规则概述99
Section Ⅱ:Agile Design敏捷设计101
Chapter 7:What Is Agile Design什么是敏捷设计103
Design Smells设计臭味104
Design Smells—The Odors of Rotting Software设计坏味——腐化软件的气味104
Rigidity僵化性105
Fragility脆弱性105
Immobility顽固性105
Viscosity粘滞性105
Needless Complexity不必要的复杂性106
Needless Repetition不必要的重复106
Opacity晦涩性107
Why Software Rots软件为何会腐化107
The Copy Program Copy程序108
A Familiar Scenario熟悉的场景108
Agile Design of the Copy Program Copy程序的敏捷设计111
Conclusion结论113
Bibliography参考文献114
Chapter 8:The Single-Responsibility Principle(SRP) SRP:单一职责原则115
Defining a Responsibility定义职责117
Separating Coupled Responsibilities分离耦合的职责119
Persistence持久化119
Conclusion结论119
Bibliography参考文献120
Chapter 9:The Open/Closed Principle(OCP) OCP:开放-封闭原则121
Description of OCP OCP概述122
The Shape Application Shape应用程序124
Violating OCP违反OCP124
Conforming to OCP遵循OCP127
Anticipation and“Natural”Structure预测变化和“贴切的”结构128
Putting the“Hooks”In放置吊钩129
Using Abstraction to Gain Explicit Closure使用抽象获得显式封闭130
Using a Data-Driven Approach to Achieve Closure使用“数据驱动”的方法获取封闭性131
Conclusion结论132
Bibliography参考文献133
Chapter 10:The Liskov Substitution Principle(LSP) LSP:Liskov替换原则135
Violations of LSP违反LSP的情形136
A Simple Example简单例子136
A More Subtle Violation更微妙的违反情形138
A Real-World Example实际的例子143
Factoring Instead of Deriving用提取公共部分的方法代替继承148
Heuristics and Conventions启发式规则和习惯用法150
Conclusion结论151
Bibliography参考文献151
Chapter 11:The Dependency-Inversion Principle(DIP) DIP:依赖倒置原则153
Layering层次化154
Ownership Inversion倒置的接口所有权155
Dependence on Abstractions依赖于抽象156
A Simple DIP Example简单的DIP示例157
Finding the Underlying Abstraction找出潜在的抽象158
The Furnace Example熔炉示例160
Conclusion结论161
Bibliography参考文献162
Chapter 12:The Interface Segregation Principle(ISP) ISP:接口隔离原则163
Interface Pollution接口污染163
Separate Clients Mean Separate Interfaces分离客户就是分离接口165
Class Interfaces versus Object Interfaces类接口与对象接口166
Separation Through Delegation使用委托分离接口167
Separation Through Multiple Inheritance使用多重继承分离接口168
The ATM User Interface Example ATM用户界面的例子169
Conclusion结论174
Bibliography参考文献175
Chapter 13:Overview of UML for C#Programmers C#程序员UML概观177
Class Diagrams类图180
Object Diagrams对象图182
Sequence Diagrams顺序图182
Collaboration Diagrams协作图183
State Diagrams状态图184
Conclusion结论185
Bibliography参考文献185
Chapter 14:Working with Diagrams使用UML187
Why Model?为什么建模187
Why Build Models of Software?为什么构建软件模型188
Should We Build Comprehensive Designs Before Coding?编码前应该构建面面俱到的设计吗188
Making Effective Use of UML有效使用UML189
Communicating with Others与他人交流189
Road Maps脉络图191
Back-End Documentation项目结束文档192
What to Keep and What to Throw Away要保留的和要丢弃的192
Iterative Refinement迭代式改进194
Behavior First行为优先194
Check the Structure检查结构196
Envisioning the Code想象代码198
Evolution of Diagrams图的演化199
When and How to Draw Diagrams何时以及如何绘制图示200
When to Draw Diagrams and When to Stop何时要画图,何时不要画图200
CASE Tools CASE工具201
But What About Documentation?那么,文档呢202
Conclusion结论202
Chapter 15:State Diagrams状态图203
The Basics基础知识204
Special Events特定事件205
Superstates超状态206
Initial and Final Pseudostates初始伪状态和结束伪状态207
Using FSM Diagrams使用FSM图示208
Conclusion结论209
Chapter 16:Object Diagrams对象图211
A Snapshot in Time即时快照212
Active Objects主动对象213
Conclusion结论217
Chapter 17:Use Cases用例219
Writing Use Cases编写用例220
Alternate Courses备选流程221
What Else?其他东西呢221
Diagramming Use Cases用例图222
Conclusion结论223
Bibliography参考文献223
Chapter 18:Sequence Diagrams顺序图225
The Basics基础知识226
Objects,Lifelines,Messages,and Other Odds and Ends对象、生命线、消息及其他226
Creation and Destruction创建和析构227
Simple Loops简单循环228
Cases and Scenarios时机和场合228
Advanced Concepts高级概念232
Loops and Conditions循环和条件232
Messages That Take Time耗费时间的消息233
Asynchronous Messages异步消息235
Multiple Threads多线程239
Active Objects主动对象240
Sending Messages to Interfaces向接口发送消息240
Conclusion结论241
Chapter 19:Class Diagrams类图243
The Basics基础知识244
Classes类244
Association关联245
Inheritance继承246
An Example Class Diagram类图示例247
The Details细节249
Class Stereotypes类衍型249
Abstract Classes抽象类250
Properties属性251
Aggregation聚集252
Composition组合253
Multiplicity多重性254
Association Stereotypes关联衍型255
Nested Classes内嵌类256
Association Classes关联类256
Association Qualifiers关联修饰符257
Conclusion结论258
Bibliography参考文献258
Chapter 20:Heuristics and Coffee咖啡的启示259
The Mark IV Special Coffee Maker Mark Ⅳ型专用咖啡机260
Specification规格说明书260
A Common but Hideous Solution常见的丑陋方案263
Imaginary Abstraction虚构的抽象265
An Improved Solution改进方案266
Implementing the Abstract Model实现抽象模型270
The Benefits ofThis Design这个设计的好处277
OOverkill面向对象过度设计279
Bibliography参考文献292
Section Ⅲ:The Payroll Case Study薪水支付案例研究293
Rudimentary Specification of the Payroll System薪水支付系统的初步规格说明294
Exercise练习295
Use Case 1:Add New Employee用例1:增加新雇员295
Use Case 2:Deleting an Employee用例2:删除雇员295
Use Case 3:Post a Time Card用例3:登记考勤卡296
Use Case 4:Posting a Sales Receipt用例4:登记销售凭条296
Use Case 5:Posting a Union Service Charge用例5:登记工会服务费296
Use Case 6:Changing Employee Details用例6:更改雇员明细296
Use Case 7:Run the Payroll for Today用例7:现在运行薪水支付系统297
Chapter 21:Command and Active Object:Versatility and Multitasking COMMAND模式和ACTIVE OBJECT模式:多功能与多任务299
Simple Commands简单的Command300
Transactions事务302
Physical and Temporal Decoupling实体上解耦和时间上解耦304
Temporal Decoupling时间上解耦304
Undo Method Undo()方法304
Active Object ACTIVE OBJECT模式305
Conclusion结论310
Bibliography参考文献310
Chapter 22:Template Method and Strategy:Inheritance versus Delegation TEMPLATE METHOD模式和STRATEGY模式:继承和委托311
Template Method TEMPLATE METHOD模式312
Pattern Abuse滥用模式315
Bubble Sort冒泡排序316
Strategy STRATEGY模式319
Conclusion结论324
Bibliography参考文献324
Chapter 23:Facade and Mediator FACADE模式和MEDIATOR模式325
Facade FACADE模式325
Mediator MEDIATOR模式327
Conclusion结论329
Bibliography参考文献329
Chapter 24:Singleton and Monostate SINGLETON模式和MONOSTATE模式331
Singleton SINGLETON模式332
Benefits SINGLETON模式的好处334
Costs SINGLETON模式的代价334
Singleton in Action运用SINGLETON模式334
Monostate MONOSTATE模式336
Benefits MONOSTATE模式的好处337
Costs MONOSTATE模式的代价338
Monostate in Action运用MONOSTATE模式338
Conclusion结论343
Bibliography参考文献343
Chapter 25:Null Object NULL OBJECT模式345
Description描述345
Conclusion结论348
Bibliography参考文献348
Chapter 26:The Payroll Case Study:Iteration 1薪水支付案例研究:第一次迭代开始349
Rudimentary Specification初步的规格说明350
Analysis by Use Cases基于用例分析351
Adding Employees增加新雇员352
Deleting Employees删除雇员353
Posting Time Cards登记考勤卡354
Posting Sales Receipts登记销售凭条354
Posting a Union Service Charge登记工会服务费355
Changing Employee Details更改雇员明细356
Payday发薪日358
Reflection:Finding the Underlying Abstractions反思:找出底层的抽象360
Employee Payment雇员支付类别抽象360
Payment Schedule支付时间表抽象360
Payment Methods支付方式362
Affiliations从属关系362
Conclusion结论363
Bibliography参考文献363
Chapter 27:The Payroll Case Study:Implementation薪水支付案例研究:实现365
Transactions事务366
Adding Employees增加雇员366
Deleting Employees删除雇员372
Time Cards,Sales Receipts,and Service Charges考勤卡、销售凭条以及服务费用373
Changing Employees更改雇员属性381
What Was I Smoking?犯了什么晕390
Paying Employees支付雇员薪水393
Paying Salaried Employees支付领月薪的雇员薪水396
Paying Hourly Employees支付钟点工薪水398
Main Program主程序408
The Database数据库409
Conclusion结论411
About This Chapter关于本章411
Bibliography参考文献412
Section Ⅳ:Packaging the Payroll System打包薪水支付系统413
Chapter 28:Principles of Package and Component Design包和组件的设计原则415
Packages and Components包和组件416
Principles of Component Cohesion:Granularity组件的内聚性原则:粒度417
The Reuse/Release Equivalence Principle(REP)重用-发布等价原则417
The Common Reuse Principle(CRP)共同重用原则418
The Common Closure Principle(CCP)共同封闭原则419
Summary of Component Cohesion组件内聚性总结420
Principles of Component Coupling:Stability组件的耦合性原则:稳定性420
The Acyclic Dependencies Principle(ADP)无环依赖原则420
The Stable-Dependencies Principle(SDP)稳定依赖原则426
The Stable-Abstractions Principle(SAP)稳定抽象原则431
Conclusion结论435
Chapter 29:Factory FACTORY模式437
A Dependency Problem依赖问题440
Static versus Dynamic Typing静态类型与动态类型441
Substitutable Factories可替换的工厂442
Using Factories for Test Fixtures对测试支架使用对象工厂443
Importance of Factories工厂的重要性444
Conclusion结论445
Bibliography参考文献445
Chapter 30:The Payroll Case Study:Package Analysis薪水支付案例研究:包分析447
Component Structure and Notation组件结构和符号448
Applying the Common Closure Principle(CCP)应用CCP450
Applying the Reuse/Release Equivalence Principle(REP)应用REP452
Coupling and Encapsulation耦合和封装454
Metrics度量455
Applying the Metrics to the Payroll Application度量薪水支付应用程序457
Object Factories对象工厂460
Rethinking the Cohesion Boundaries重新思考内聚的边界461
The Final Packaging Structure最终的包结构463
Conclusion结论465
Bibliography参考文献465
Chapter 31:Composite COMPOSITE模式467
Composite Commands组合命令469
Multiplicity or No Multiplicity多重性还是非多重性470
Conclusion结论470
Chapter 32:Observer:Evolving into a Pattern OBSERVER——演化至模式471
The Digital Clock数字时钟472
The Observer Pattern OBSERVER模式491
Models模型491
Management of OOD Principles面向对象设计原则的运用492
Conclusion结论493
Bibliography参考文献494
Chapter 33:Abstract Server,Adapter,and Bridge ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式495
Abstract Server ABSTRACT SERVER模式496
Adapter ADAPTER模式498
The Class Form of Adapter类形式的ADAPTER模式498
The Modem Problem,Adapters,and LSP调制解调器问题、适配器以及LSP499
Bridge BRIDGE模式503
Conclusion结论505
Bibliography参考文献506
Chapter 34:Proxy and Gateway:Managing Third-Party APIs PROXY模式和GATEWAY模式:管理第三方API507
Proxy PROXY模式508
Implementing Proxy实现PROXY模式512
Summary小结525
Databases,Middleware,and Other Third-Party Interfaces数据库、中间件以及其他第三方接口526
Table Data Gateway TABLE DATA GATEWAY528
Testing and In-Memory TDGs测试和内存TDG535
Testing the DB Gateways测试DbGateWay536
Using Other Patterns with Databases可以用于数据库的其他模式539
Conclusion结论541
Bibliography参考文献541
Chapter 35:Visitor VISITOR模式543
VISITOR VISITOR模式544
Acyclic Visitor ACYCLIC VISITOR模式548
Uses of VISITOR使用VISITOR模式552
Decorator DECORATOR模式560
Extension Object EXTENSION OBJECT模式565
Conclusion结论576
Bibliography参考文献577
Chapter 36:State STATE模式579
Nested Switch/Case Statements嵌套switch/case语句580
The Internal Scope State Variable内部作用域的状态变量583
Testing the Actions测试动作583
Costs and Benefits代价和收益583
Transition Tables迁移表584
Using Table Interpretation使用表解释585
Costs and Benefits代价和收益586
The State Pattern STATE模式586
State versus Strategy STATE模式和STRATEGY模式589
Costs and Benefits代价和收益590
The State Machine Compiler(SMC)状态机编译器591
Turnstile.cs Generated by SMC,and Other Support Files SMC生成的Turnstile.cs以及其他支持文件593
Costs and Benefits代价和收益598
Classes of State Machine Application状态机应用的场合598
High-Level Application Policies for GUIs作为GUI中的高层应用策略599
GUI Interaction Controllers GUI交互控制器600
Distributed Processing分布式处理601
Conclusion结论602
Bibliography参考文献602
Chapter 37:The Payroll Case Study:The Database薪水支付案例研究:数据库603
Building the Database构建数据库604
A Flaw in the Code Design一个代码设计缺陷605
Adding an Employee增加雇员607
Transactions事务618
Loading an Employee加载Employee对象623
What Remains?还有什么工作636
Chapter 38:The Payroll User Interface:Model View Presenter薪水支付系统用户界面:Model-View-Presenter637
The Interface界面639
Implementation实现640
Building a Window构建窗口650
The Payroll Window Payroll窗口657
The Unveiling真面目669
Conclusion结论670
Bibliography参考文献670
Appendix A:A Satire of Two Companies双公司记671
Rufus Inc.:Project Kickoff Rufus公司:“日落”项目671
Rupert Industries:Project Alpha Rupert工业公司:“朝晖”项目671
Appendix B:What Is Software?什么是软件687
Index索引699
热门推荐
- 2156357.html
- 3663427.html
- 146786.html
- 535399.html
- 2602986.html
- 3274474.html
- 3292152.html
- 3250297.html
- 3206982.html
- 516034.html
- http://www.ickdjs.cc/book_2040397.html
- http://www.ickdjs.cc/book_872041.html
- http://www.ickdjs.cc/book_3473604.html
- http://www.ickdjs.cc/book_133662.html
- http://www.ickdjs.cc/book_636007.html
- http://www.ickdjs.cc/book_3244019.html
- http://www.ickdjs.cc/book_1213825.html
- http://www.ickdjs.cc/book_3384573.html
- http://www.ickdjs.cc/book_645695.html
- http://www.ickdjs.cc/book_1501618.html