出版時(shí)間:2008-1 出版社:人民郵電 作者:馬丁 頁(yè)數(shù):732 字?jǐn)?shù):922000
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書旨在指導(dǎo).NET程序員學(xué)習(xí)構(gòu)建軟件的最佳實(shí)踐,從而創(chuàng)建更好的設(shè)計(jì)并提升.NET應(yīng)用的質(zhì)量。書中使用真實(shí)案例講解如何用極限編程來(lái)設(shè)計(jì)、測(cè)試、重構(gòu)和結(jié)對(duì)編程,包含了極具價(jià)值的可重用的C#源代碼,還重點(diǎn)講述了如何使用UML和設(shè)計(jì)模式解決面向客戶系統(tǒng)的問(wèn)題?! ”緯m于軟件開(kāi)發(fā)和管理人員提高自身水平學(xué)習(xí)之用,也適于用作高校計(jì)算機(jī)專業(yè)本科生、研究生以及軟件學(xué)院的軟件工程和軟件開(kāi)發(fā)相關(guān)課程的教材或參考書。
作者簡(jiǎn)介
Robert C.Martin世界級(jí)的軟件開(kāi)發(fā)大師,著名軟件咨詢公司Object Mentor公司的創(chuàng)始人和總裁。曾經(jīng)擔(dān)任C++ Report雜志主編多年,也是設(shè)計(jì)模式和敏捷開(kāi)發(fā)運(yùn)動(dòng)的主要倡導(dǎo)者之一。
書籍目錄
Section I:Agile Development 敏捷開(kāi)發(fā) Chapter 1:Agile Practices 敏捷實(shí)踐 The Agile Alliance 敏捷聯(lián)盟 Individuals and Interactions over Processes and Tools人和交互重于過(guò)程和工具 Working Software over Comprehensive Documentation 可以工作的軟件重于面面俱到的文檔 Customer Collaboration over Contract Negotiation 客戶合作重于合同談判 Responding to Change over Following a Plan 隨時(shí)應(yīng)對(duì)變化重于遵循計(jì)劃 Principles 原則 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 2:Overview of Extreme Programming 極限編程概述 The Practices of Extreme Programming 極限編程實(shí)踐 Whole Team 完整團(tuán)隊(duì) User Stories 用戶故事 Short Cycles 短交付周期 Acceptance Tests 驗(yàn)收測(cè)試 Pair Programming 結(jié)對(duì)編程 Test.Driven Development(TDD) 測(cè)試驅(qū)動(dòng)開(kāi)發(fā) Collective Ownership 集體所有權(quán) Continuous Integration 持續(xù)集成 Sustainable Pace 可持續(xù)的開(kāi)發(fā)速度 Open Workspace 開(kāi)放的工作空間 The Planning Game 計(jì)劃游戲 Simple Design 簡(jiǎn)單設(shè)計(jì) Refactoring 重構(gòu) Metaphor 隱喻 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 3:Planning 計(jì)劃 Initial Exploration 初始探索 Spiking,Splitting,and Velocity 探究、分解和速度 Release Planning 發(fā)布計(jì)劃 Iteration Planning 迭代計(jì)劃 Defining“Done” 定義“完成” Tlask Planning 任務(wù)計(jì)劃 Iterating 迭代 Tracking 跟蹤 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 4:Testing 測(cè)試 TIest-Driven Development 測(cè)試驅(qū)動(dòng)開(kāi)發(fā) Example of Test-First Design 測(cè)試優(yōu)先設(shè)計(jì)的例子 Test Isolation 測(cè)試促使模塊之間隔離 Serendipitous Decoupling 意外獲得的解耦合 Acceptance Tests 驗(yàn)收測(cè)試 Serendipitous Architecture 意外獲得的構(gòu)架 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 5:Refactoring 重構(gòu) A Simple Example of Refactoring:Generating Primes 素?cái)?shù)產(chǎn)生程序:一個(gè)簡(jiǎn)單的重構(gòu)示例 Unit Testing 單元測(cè)試 Refactoring 重構(gòu) The Final Reread 最后審視 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 6:A Programming Episode 一次編程實(shí)踐 The Bowling Game 保齡球比賽 Conclusion 結(jié)論 Overview of the Rules of Bowling 保齡球規(guī)則概述 Section II Agile Design 敏捷設(shè)計(jì) Chapter 7:What Is Agile Design 什么是敏捷設(shè)計(jì) Design Smells 設(shè)計(jì)臭味 Design Smells——The Odors of Rotting Software 設(shè)計(jì)壞味——腐化軟件的氣味 Rigidity 僵化性 Fragility 脆弱性 Immobility 頑固性 Viscosity 粘滯性 Needless Complexity 不必要的復(fù)雜性 NeedLless Repetition 不必要的重復(fù) Opacity 晦澀性 Why Software Rots 軟件為何會(huì)腐化 The Copy Program Copy 程序 A Familiar Scenario 熟悉的場(chǎng)景 Agile Design of the Copy Program copy 程序的敏捷設(shè)計(jì) Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 8:The Single-Responsibility Principle(SRP) SRP:?jiǎn)我宦氊?zé)原則 Defining a Responsibility 定義職責(zé) Separating Coupled Responsibilities 分離耦合的職責(zé) Persistence 持久化 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 9:The Open/Closed Principle(OCP) OCP:開(kāi)放-封閉原則 Description 0f OCP OCP概述 The Shape Application Shape 應(yīng)用程序 Violating OCP 違反OCP Conforming to OCP 遵循OCP Anticipation and“Natural”Structure 預(yù)測(cè)變化和“貼切的”結(jié)構(gòu) Putting the“Hooks”In 放置吊鉤 Using Abstraction to Gain Explicit Closure使用抽象獲得顯式封閉 Using a Data-Driven Approach to Achieve Closure 使用“數(shù)據(jù)驅(qū)動(dòng)"的方法獲取封閉性 Conclusion結(jié)論 Bibliography參考文獻(xiàn) Chapter 10:The Liskov Substitution Principle(LSP) LSP:Liskov替換原則 Violations 0f LSP 違反LS P的情形 A Simple Example 簡(jiǎn)單例子 A More Subtle Violation 更微妙的違反情形 A Real-World Example 實(shí)際的例子 Factoring Instead of Deriving 用提取公共部分的方法代替繼承 Heuristics and Conventions 啟發(fā)式規(guī)則和習(xí)慣用法 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 11:The Dependency-Inversion Principle(DIP) DIP:依賴倒置原則 Layering 層次化 Ownership Inversion 倒置的接口所有權(quán) Dependence on Abstractions 依賴于抽象 A Simple DIP Example 簡(jiǎn)單的DIP示例 Finding the Underlying Abstraction 找出潛在的抽象 The Furnace Example 熔爐示例 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 12:The Interface Segregation Principle(ISP) ISP:接口隔離原則 Interface Pollution 接口污染 Separate Clients Mean Separate Interfaces 分離客戶就是分離接口 Class Interfaces versus Object Interfaces 類接口與對(duì)象接口 Separation Through Delegation 使用委托分離接口 Separation Through Multiple Inheritance 使用多重繼承分離接口 The ATM User Interface Example ATM用戶界面的例子 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 13:Overview of UML for C# Programmers C#程序員UML概觀 Class Diagrams 類圖 Object Diagrams 對(duì)象圖 Sequence Diagrams 順序圖 Collaboration Diagrams 協(xié)作圖 State Diagrams 狀態(tài)圖 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 14:Working with Diagrams 使用UML Why Model? 為什么建?! hy Build Models of Software? 為什么構(gòu)建軟件模型 Should We Build Comprehensive Designs Before Coding? 編碼前應(yīng)該構(gòu)建面面俱到的設(shè)計(jì)嗎 Making Effective Use of UML 有效使用UML Communicating with Others 與他人交流 Road Maps 脈絡(luò)圖 Back-End Documentation 項(xiàng)目結(jié)束文檔 What to Keep and What to Throw Away 要保留的和要丟棄的 Iterative Refinement 迭代式改進(jìn) Behavior First 行為優(yōu)先 Check the Structure 檢查結(jié)構(gòu) Envisioning the Code 想象代碼 Evolution of Diagrams 圖的演化 When and How to Draw Diagrams 何時(shí)以及如何繪制圖示 When to Draw Diagrams and When to Stop 何時(shí)要畫圖,何時(shí)不要畫圖 CASE Tools CASE工具 But What About Documentation? 那么,文檔呢 Conclusion 結(jié)論 Chapter 15 State Diagrams 狀態(tài)圖 The Basics 基礎(chǔ)知識(shí) Special Events 特定事件 Superstates 超狀態(tài) Initial and Final Pseudostates 初始偽狀態(tài)和結(jié)束偽狀態(tài) Using FSM Diagrams 使用FSM圖示 Conclusion 結(jié)論 Chapter 16:Object Diagrams 對(duì)象圖 A Snapshot in Time 即時(shí)快照 Active Objects 主動(dòng)對(duì)象 Conclusion 結(jié)論 Chapter 17:Use Cases 示例 Writing Use Cases 編寫用例 Alternate Courses 備選流程 What Else? 其他東西呢 Diagramming Use Cases 用例圖 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 18:Sequence Diagrams 順序圖 The Basics 基礎(chǔ)知識(shí) Obj ects,Lifelines,Messages,and Other Odds and Ends 對(duì)象、生命線、消息及其他 Creation and Destruction 創(chuàng)建和析構(gòu) Simple Loops 簡(jiǎn)單循環(huán) Cases and Scenarios 時(shí)機(jī)和場(chǎng)合 Advanced Concepts 高級(jí)概念 Loops and Conditions 循環(huán)和條件 Messages That Take Time 耗費(fèi)時(shí)間的消息 Asynchronous Messages 異步消息 Multiple Threads 多線程 Active Objects 主動(dòng)對(duì)象 Sending Messages to Interfaces 向接口發(fā)送消息 Conclusion 結(jié)論 Chapter 19:Class Diagrams 類圖 The Basics 基礎(chǔ)知識(shí) Classes 類 Association 關(guān)聯(lián) Inheritance 繼承 An Example Class Diagram 類圖示例 The Details 細(xì)節(jié) Class Stereotypes 類衍型 Abstract Classes 抽象類 Properties 屬性 Aggregation 聚集 Composition 組合 Multiplicity 多重性 Association Stereotypes 關(guān)聯(lián)衍型 Nested Classes 內(nèi)嵌類 Association Classes 關(guān)聯(lián)類 Association Qualifiers 關(guān)聯(lián)修飾符 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 20 Heuristics and C0ffee 咖啡的啟示 The Mark IV Special Coffee Maker Mark IV型專用咖啡機(jī) Specification 規(guī)格說(shuō)明書 260 A Common but Hideous Solution 常見(jiàn)的丑陋方案 Imaginary Abstraction 虛構(gòu)的抽象 An Improved Solution 改進(jìn)方案 Implementing the Abstract Model 實(shí)現(xiàn)抽象模型 The Benefits of This Design 這個(gè)設(shè)計(jì)的好處 Ooverkill 面向?qū)ο筮^(guò)度設(shè)計(jì) Bibliography 參考文獻(xiàn) Section Ⅲ The Payroll Case Study 薪水支付案例研究 Rudimentary Specification of the Payroll System 薪水支付系統(tǒng)的初步規(guī)格說(shuō)明 Exercise 練習(xí) 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:登記工會(huì)服務(wù)費(fèi) Use Case 6:Changing Employee Details 用例6:更改雇員明細(xì) Use Case 7:Run the Payroll for Today 用例7:現(xiàn)在運(yùn)行薪水支付系統(tǒng) Chapter 21:Command and Active Object:Versatility and Multitasking COMMAND模式和ACTlVE OBJECT模式:多功能與多任務(wù) Simple Commands 簡(jiǎn)單的Command Transactions 事務(wù) Physical and Temporal Decoupling 實(shí)體上解耦和時(shí)間上解耦 Temporal Decoupling 時(shí)間上解耦 Undo Method Undo()方法 Active Object ACTIVE OBJECT模式 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 22:Template Method and Strategy:Inheritance versus Delegation TEMPLATE METHOD模式和STRATEGY模式:繼承和委托 Template Method TEM PLATE METHOD模式 Pattern Abuse 濫用模式 Bubble Sort 冒泡排序 Strategy STRATEGY模式 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 23:Facade and Mediator FACAD E模式和MEDIATOR模式 Facade FACADE模式 Mediator MEDIATOR模式 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 24:Singleton and Monostate SINGLETON模式和MONOSTATE模式 Singleton SINGLETON模式 Benefits SINGLETON模式的好處 Costs SINGLETON模式的代價(jià) Singleton in Action 運(yùn)用SINGLETON模式 Monostate MONOSTATE模式 Benefits MONOSTATE模式的好處 Costs MONOSTATE模式的代價(jià) Monostate in Action 運(yùn)用MONOSTATE模式 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 25:Null Object NULL OBJECT Description 描述 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 26:The Payroll Case Study:Iteration 1 薪水支付案例研究:第一次迭代開(kāi)始 Rudimentary Specification 初步的規(guī)格說(shuō)明 Analysis by Use Cases 基于用例分析 Adding Employees 增加新雇員 Deleting Employees 刪除雇員 Posting Time Cards 登記考勤卡 Posting Sales Receipts 登記銷售憑條 Posting a Union Service Charge 登記工會(huì)服務(wù)費(fèi) Changing Employee Details 更改雇員明細(xì) Payday 發(fā)薪日 Reflection:Finding the Underlying Abstractions 反思:找出底層的抽象 Employee Payment 雇員支付類別抽象 Payment Schedule 支付時(shí)間表抽象 Payment Methods 支付方式 Affiliations 從屬關(guān)系 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn)Chapter 27:The Payroll Case Study:Implementation 薪水支付案例研究:實(shí)現(xiàn) Transactions 事務(wù) Adding Employees 增加雇員 Deleting Employees 刪除雇員 Time Cards,Sales Receipts,and Service Charges 考勤卡、銷售憑條以及服務(wù)費(fèi)用 Changing EmplOyees 更改雇員屬性 What Was I Smoking? 犯了什么暈 Paying Employees 支付雇員薪水 Paying Salaried Employees 支付領(lǐng)月薪的雇員薪水 Paying Hourly Employees 支付鐘點(diǎn)工薪水 Main Program 主程序 The Database 數(shù)據(jù)庫(kù) Conclusion 結(jié)論 About This Chapter 關(guān)于本章 Bibliography 參考文獻(xiàn) Section IV:Packaging the Payroll System 打包薪水支付系統(tǒng)Chapter 28:Principles of Package and Component Design 包和組件的設(shè)計(jì)原則 Packages and Components 包和組件 Principles of Component Cohesion:Granularity 組件的內(nèi)聚性原則:粒度 The Reuse/Release Equivalence Principle(REP) 重用-發(fā)布等價(jià)原則 The Common Reuse Principle(CRP) 共同重用原則 The Common Closure Principle(CCP) 共同封閉原則 Summary of Component Cohesion 組件內(nèi)聚性總結(jié) Principles of Component Coupling:Stability 組件的耦合陛原則:穩(wěn)定性 The Acyclic Dependencies Principle(ADP) 無(wú)環(huán)依賴原則 The Stable-Dependencies Principle(SDP) 穩(wěn)定依賴原則 The Stable-Abstractions Principle(SAP) 穩(wěn)定抽象原則 Conclusion 結(jié)論Chapter 29:Factory FACTORY模式 A Dependency Problem 依賴問(wèn)題 Static versus Dynamic Typing 靜態(tài)類型與動(dòng)態(tài)類型 SubStitutable Factories 可替換的工廠 Using Factories for TIest Fixtures 對(duì)測(cè)試支架使用對(duì)象工廠 Importance of Factories 工廠的重要性 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 30:The Payroll Case Study:Package Analysis 薪水支付案例研究:包分析 Component Structure and Notation 組件結(jié)構(gòu)和符號(hào) Applying the Common Closure Principle(CCP) 應(yīng)用CCP Applying the Reuse/Release Equivalence Principle(REP) 應(yīng)用REP Coupling and Encapsulation 耦合和封裝 Metrics 度量 Applying the Metrics to the Payroll Application 度量薪水支付應(yīng)用程序 Object Factories 對(duì)象工廠 Rethinking the Cohesion Boundaries 重新思考內(nèi)聚的邊界 The Final Packaging Structure 最終的包結(jié)構(gòu) Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 31:Composite COMPOSITE模式 Composite Commands 組合命令 Multiplicity or No Multiplicity 多重性還是非多重性 Conclusion 結(jié)論Chapter 32:Observer:Evolving into a Pattern OBSERVER——演化至模式 The Digital Clock 數(shù)字時(shí)鐘 The Observer Pattern OBSERVER模式 Models 模型 Management of OOD Principles 面向?qū)ο笤O(shè)計(jì)原則的運(yùn)用 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 33:Abstract Server,Adapter,and Bridge ABSTRACTSERVER模式、ADAPTER模式和BRIDGE模式 Abstract Server ABSTRACT SERVER模式 Adapter ADAPTER模式 The Class Form of Adapter 類形式ADAPTER模式 The Mode,m Problem,Adapters,and LSP 調(diào)制解調(diào)器問(wèn)題、適配器以及LSP Bridge BRIDGE模式 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn) Chapter 34:Proxy and Gateway:Managing Third-Party APIs PROXY模式和GATEWAY模式:管理第三方API Proxy PROXY 模式 Implementing Proxy 實(shí)現(xiàn)PROXY模式 Summary 小結(jié) Databases,Middleware,and Other Third.Party Interfaces 數(shù)據(jù)庫(kù)、中間件以及其他第三方接口 Table Data Gateway TABLE DATA GATEWAY Testing and In.Memory TDGs 測(cè)試和內(nèi)存TDG Testing the DB Gateways 測(cè)試DbGateWay Using Other Patterns with Databases 可以用于數(shù)據(jù)庫(kù)的其他模式 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn)Chapter 35:Visitor VISITOR模式 VISITOR VISITOR模式 Acyclic Visitor ACYCLIC VISITOR模式 Uses of VISITOR 使用VISITOR模式 Decorator DECORATOR模式 Extension Object EXTENSION OBJECT模式 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn)Chapter 36:State STATE模式 Nested Switch/Case Statements 嵌套switch/case語(yǔ)句 The Internal Scope State Variable 內(nèi)部作用域的狀態(tài)變量 Testing the Actions 測(cè)試動(dòng)作 Costs and Benefits 代價(jià)和收益 Transition Tables 遷移表 Using Table Interpretation 使用表解釋 Costs and Benefits 代價(jià)和收益 The State Pattern STATE模式 State versus Strategy STATE模式和STRATEGY模式 Costs and Benefits 代價(jià)和收益 The State Machine Compiler(SMC) 狀態(tài)機(jī)編譯器 Turnstile.CS Generated by SMC,and Other Support Files SMC生成的Turnstile.CS以及其他支持文件 593 Costs and Benefits 代價(jià)和收益 Classes of State Machine Application 狀態(tài)機(jī)應(yīng)用的場(chǎng)合 High-Level Application Policies for GUIs 作為GUI中的高層應(yīng)用策略 GUI Interaction Controllers GUI交互控制器 Distributed Processing 分布式處理 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn)Chapter 37:The Payroll Case Study:The Database 薪水支付案例研究:數(shù)據(jù)庫(kù) Building the Database 構(gòu)建數(shù)據(jù)庫(kù) A Flaw in the Code Design 一個(gè)代碼設(shè)計(jì)缺陷 Adding an Employee 增加雇員 Transactions 事務(wù) Loading an Employee 加載Employee對(duì)象 What Remains? 還有什么工作 Chapter 38:The Payroll User Interface:Model View Presenter 薪水支付系統(tǒng)用戶界面:Model-View-Presenter The Interface 界面 Implementation 實(shí)現(xiàn) Building a Window 構(gòu)建窗口 The Payroll Window Payroll 窗口 The Unveiling 真面目 Conclusion 結(jié)論 Bibliography 參考文獻(xiàn)Appendix A:A Satire of Two Companies 雙公司記 Rufus Inc.:Proj ect Kickoff Rufus公司:“日落”項(xiàng)目 671 Rupert Industries:Project Alpha Rupert工業(yè)公司:“朝暉”項(xiàng)目 Appendix B:What Is Software? 什么是軟件Index索引
編輯推薦
《敏捷軟件開(kāi)發(fā):原則、模式與實(shí)踐(C#版)(英文版)》不僅是一部深入淺出、生動(dòng)易懂的面向?qū)ο笤瓌t與模式著作,而且還是一部通俗的敏捷方法導(dǎo)引書和快速實(shí)用UML教程。通過(guò)《敏捷軟件開(kāi)發(fā):原則、模式與實(shí)踐(C#版)(英文版)》你會(huì)發(fā)現(xiàn),許多以前看起來(lái)非??菰镔M(fèi)解的概念,忽然間都豁然開(kāi)朗,變得鮮活生動(dòng)起來(lái)?! #版與此前的Java版相比,主要的更新包括加強(qiáng)了對(duì)UML的介紹章節(jié),使其更加貼近實(shí)戰(zhàn),增加了對(duì)MVP模式的介紹等。注釋版在原著基礎(chǔ)上增加了豐富的詞語(yǔ)注釋和背景提示,使讀者能夠輕松地領(lǐng)略原汁原味的名著的風(fēng)采?! ≤浖_(kāi)發(fā)的不朽經(jīng)典,生動(dòng)闡述面向?qū)ο笤瓌t、敏捷實(shí)踐、UML和模式,大量C#實(shí)戰(zhàn)示例,讓你親歷現(xiàn)場(chǎng),豐富的詞匯和背景注釋,助你輕松讀經(jīng)典?! 拔易钕矏?ài)的技術(shù)作家Robert Martin善于通過(guò)實(shí)戰(zhàn)展示技術(shù),讓讀者能夠以自己喜歡的方式逐步理解……請(qǐng)把Bob大叔當(dāng)作你在敏捷世界里的導(dǎo)師?!薄 狢hris Sells,NET資深技術(shù)專家,微軟“軟件傳奇人物” “《敏捷軟件開(kāi)發(fā):原則、模式與實(shí)踐(C#版)(英文版)》是對(duì)敏捷編程和敏捷原則最全面和最有價(jià)值的介紹……絕對(duì)是所有NET程序員必讀之作?!薄 狫esse Liberty,微軟資探技術(shù)專家,ProgrammingC#作者 要想成為一名優(yōu)秀的軟件開(kāi)發(fā)傊,需要熟練應(yīng)用編程語(yǔ)言和開(kāi)發(fā)工具,更重要的是能夠領(lǐng)悟代美代碼背后的原則和前人總結(jié)的經(jīng)驗(yàn)——這正是《敏捷軟件開(kāi)發(fā):原則、模式與實(shí)踐(C#版)(英文版)》的主題?!睹艚蒈浖_(kāi)發(fā):原則、模式與實(shí)踐(C#版)(英文版)》凝聚了世界級(jí)軟件開(kāi)發(fā)大師Robert C Martin數(shù)十年軟件開(kāi)發(fā)和培訓(xùn)經(jīng)驗(yàn),Java版曾榮獲計(jì)算機(jī)圖書最高榮譽(yù)——Jolt大獎(jiǎng),是廣受推的經(jīng)典著作,自出版以來(lái)一直暢銷不衰。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載