Agile Principles, Patterns, and Practices in C# HD PDF

This article along with all titles and tags are the original content of AppNee. All rights reserved. To repost or reproduce, you must add an explicit footnote along with the URL to this article!
Any manual or automated whole-website collecting/crawling behaviors are strictly prohibited.
Any resources shared on AppNee are limited to personal study and research only, any form of commercial behaviors are strictly prohibited. Otherwise, you may receive a variety of copyright complaints and have to deal with them by yourself.
Before using (especially downloading) any resources shared by AppNee, please first go to read our F.A.Q. page more or less. Otherwise, please bear all the consequences by yourself.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

As is known to all, Robert C. Martin is an expert in software development, software engineering master, and specialist of object-oriented technology enjoying the worldwide reputation. Also, he is software engineer and one of the pioneers of design patterns and agile software development movements. Agile Principles, Patterns, and Practices in C# was written by him and his son Micah Martin (an experienced software engineer). The Java edition of this book has won the highest honor of computer books – Jolt Awards.

Recognized as the immortal classic for software development, also an excellent tutorial book for C# programmers to improve their programming skills, Agile Principles, Patterns, and Practices in C# deeply and vividly uses a large number of real cases to explain the basic principles of object-oriented programming (OOP) design, important software design patterns, UML (Unified Modeling Language), as well as the most comprehensive and most valuable Agile Principles, Patterns, and Practices, which are absolutely necessary knowledge for all .NET programmers. When finish this book, you will find that many concepts that looked very boring and confusing before are suddenly enlightened, just become more fresh and vivid now.

To become an excellent software developer, you need to expertly use some programming languages and their development tools. But more importantly, you should be able to comprehend the working principle behind codes and the experience (best practices) summarized by predecessors. This is the very substance of Agile Principles, Patterns, and Practices in C# this book. In other words, it condenses the world-class software development master Robert C. Martin’s decades of experience in software development & training.

Good code and well design keep growing, and needs to be constantly maintained and updated. That is, the code, design and architecture should grow following the change of demands. There is no point in statically treating your code or design in isolation. In short, behind the simple and concise words in this book, there are very important theories at a deeper level. So, you should read it a few more times for savoring and utilizing them.

// Table Of Contents //

  • Chapter 1: Agile Practices 3
  • Chapter 2: Overview of Extreme Programming 13
  • Chapter 3: Planning 23
  • Chapter 4: Testing 31
  • Chapter 5: Refactoring 41
  • Chapter 6: A Programming Episode 55
  • Chapter 7: What Is Agile Design? 103
  • Chapter 8: The Single-Responsibility Principle (SRP) 115
  • Chapter 9: The Open/Closed Principle (OCP) 121
  • Chapter 10: The Liskov Substitution Principle (LSP) 135
  • Chapter 11: The Dependency-Inversion Principle (DIP) 153
  • Chapter 12: The Interface Segregation Principle (ISP) 163
  • Chapter 13: Overview of UML for C# Programmers 177
  • Chapter 14: Working with Diagrams 187
  • Chapter 15: State Diagrams 203
  • Chapter 16: Object Diagrams 211
  • Chapter 17: Use Cases 219
  • Chapter 18: Sequence Diagrams 225
  • Chapter 19: Class Diagrams 243
  • Chapter 20: Heuristics and Coffee 259
  • Chapter 21: Command and Active Object: Versatility and Multitasking 299
  • Chapter 22: Template Method and Strategy: Inheritance versus Delegation 311
  • Chapter 23: Facade and Mediator 325
  • Chapter 24: Singleton and Monostate 331
  • Chapter 25: Null Object 345
  • Chapter 26: The Payroll Case Study: Iteration 1 349
  • Chapter 27: The Payroll Case Study: Implementation 365
  • Chapter 28: Principles of Package and Component Design 415
  • Chapter 29: Factory 437
  • Chapter 30: The Payroll Case Study: Package Analysis 447
  • Chapter 31: Composite 467
  • Chapter 32: Observer: Evolving into a Pattern 471
  • Chapter 33: Abstract Server, Adapter, and Bridge 495
  • Chapter 34: Proxy and Gateway: Managing Third-Party APIs 507
  • Chapter 35: Visitor 543
  • Chapter 36: State 579
  • Chapter 37: The Payroll Case Study: The Database 603
  • Chapter 38: The Payroll User Interface: Model View Presenter 637
  • Appendix A: A Satire of Two Companies 671
  • Appendix B: What Is Software? 687

// Download URLs //

Format Download Size
PDF 12.9 MB


If some download link is missing, and you do need it, just please send an email (along with post link and missing link) to remind us to reupload the missing file for you. And, give us some time to respond.
If there is a password for an archive, it should be "".
Most of the reserved downloads (including the 32-bit version) can be requested to reupload via email.