close menu
Bookswagon-24x7 online bookstore
close menu
My Account
Agile Principles, Patterns, and Practices in C#

Agile Principles, Patterns, and Practices in C#

          
5
4
3
2
1

Out of Stock


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Notify me when this book is in stock
Add to Wishlist

About the Book

This is the eBook version of the printed book. If the print book includes a CD-ROM, this content is not included within the eBook version.

With the award-winning book Agile Software Development: Principles, Patterns, and Practices, Robert C. Martin helped bring Agile principles to tens of thousands of Java and C++ programmers. Now .NET programmers have a definitive guide to agile methods with this completely updated volume from Robert C. Martin and Micah Martin, Agile Principles, Patterns, and Practices in C#.

This book presents a series of case studies illustrating the fundamentals of Agile development and Agile design, and moves quickly from UML models to real C# code. The introductory chapters lay out the basics of the agile movement, while the later chapters show proven techniques in action. The book includes many source code examples that are also available for download from the authors’ Web site.

Readers will come away from this book understanding

  • Agile principles, and the fourteen practices of Extreme Programming
  • Spiking, splitting, velocity, and planning iterations and releases
  • Test-driven development, test-first design, and acceptance testing
  • Refactoring with unit testing
  • Pair programming
  • Agile design and design smells
  • The five types of UML diagrams and how to use them effectively
  • Object-oriented package design and design patterns
  • How to put all of it together for a real-world project

Whether you are a C# programmer or a Visual Basic or Java programmer learning C#, a software development manager, or a business analyst, Agile Principles, Patterns, and Practices in C# is the first book you should read to understand agile software and how it applies to programming in the .NET Framework.





Table of Contents:
Forewords xix Preface xxiii Acknowledgments xxxi About the Authors xxxiii Section I: Agile Development 1 Chapter 1: Agile Practices 3

The Agile Alliance 4

Principles 8

Conclusion 10

Bibliography 11

Chapter 2: Overview of Extreme Programming 13

The Practices of Extreme Programming 14

Conclusion 22

Bibliography 22

Chapter 3: Planning 23

Initial Exploration 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

Acceptance Tests 36

Serendipitous Architecture 37

Conclusion 38

Bibliography 39

Chapter 5: Refactoring 41

A Simple Example of Refactoring: Generating Primes 42

Conclusion 53

Bibliography 54

Chapter 6: A Programming Episode 55

The Bowling Game 56

Conclusion 98

Overview of the Rules of Bowling 99

Section II: Agile Design 101 Chapter 7: What Is Agile Design? 103

Design Smells 104

Why Software Rots 107

The Copy Program 108

Conclusion 113

Bibliography 114

Chapter 8: The Single-Responsibility Principle (SRP) 115

Defining a Responsibility 117

Separating Coupled Responsibilities 119

Persistence 119

Conclusion 119

Bibliography 120

Chapter 9: The Open/Closed Principle (OCP) 121

Description of OCP 122

The Shape Application 124

Conclusion 132

Bibliography 133

Chapter 10: The Liskov Substitution Principle (LSP) 135

Violations of LSP 136

Factoring Instead of Deriving 148

Heuristics and Conventions 150

Conclusion 151

Bibliography 151

Chapter 11: The Dependency-Inversion Principle (DIP) 153

Layering 154

A Simple DIP Example 157

The Furnace Example 160

Conclusion 161

Bibliography 162

Chapter 12: The Interface Segregation Principle (ISP) 163

Interface Pollution 163

Separate Clients Mean Separate Interfaces 165

Class Interfaces versus Object Interfaces 166

The ATM User Interface Example 169

Conclusion 174

Bibliography 175

Chapter 13: Overview of UML for C# Programmers 177

Class Diagrams 180

Object Diagrams 182

Collaboration Diagrams 183

State Diagrams 184

Conclusion 185

Bibliography 185

Chapter 14: Working with Diagrams 187

Why Model? 187

Making Effective Use of UML 189

Iterative Refinement 194

When and How to Draw Diagrams 200

Conclusion 202

Chapter 15: State Diagrams 203

The Basics 204

Using FSM Diagrams 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

Diagramming Use Cases 222

Conclusion 223

Bibliography 223

Chapter 18: Sequence Diagrams 225

The Basics 226

Advanced Concepts 232

Conclusion 241

Chapter 19: Class Diagrams 243

The Basics 244

An Example Class Diagram 247

The Details 249

Conclusion 258

Bibliography 258

Chapter 20: Heuristics and Coffee 259

The Mark IV Special Coffee Maker 260

OOverkill 279

Bibliography 292

Section III: The Payroll Case Study 293

Rudimentary Specification of the Payroll System 294

Exercise 295

Chapter 21: Command and Active Object: Versatility and Multitasking 299

Simple Commands 300

Transactions 302

Undo Method 304

Active Object 305

Conclusion 310

Bibliography 310

Chapter 22: Template Method and Strategy: Inheritance versus Delegation 311

Template Method 312

Strategy 319

Conclusion 324

Bibliography 324

Chapter 23: Facade and Mediator 325

Facade 325

Mediator 327

Conclusion 329

Bibliography 329

Chapter 24: Singleton and Monostate 331

Singleton 332

Monostate 336

Conclusion 343

Bibliography 343

Chapter 25: 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

Reflection: Finding the Underlying Abstractions 360

Conclusion 363

Bibliography 363

Chapter 27: The Payroll Case Study: Implementation 365

Transactions 366

Main Program 408

The Database 409

Conclusion 411

About This Chapter 411

Bibliography 412

Section IV: Packaging the Payroll System 413 Chapter 28: Principles of Package and Component Design 415

Packages and Components 416

Principles of Component Cohesion: Granularity 417

Principles of Component Coupling: Stability 420

Conclusion 435

Chapter 29: 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) 450

Applying the Reuse/Release Equivalence Principle (REP) 452

Coupling and Encapsulation 454

Metrics 455

Applying the Metrics to the Payroll Application 457

The Final Packaging Structure 463

Conclusion 465

Bibliography 465

Chapter 31: Composite 467

Composite Commands 469

Multiplicity or No Multiplicity 470

Conclusion 470

Chapter 32: Observer: Evolving into a Pattern 471

The Digital Clock 472

The Observer Pattern 491

Conclusion 493

Bibliography 494

Chapter 33: Abstract Server, Adapter, and Bridge 495

Abstract Server 496

Adapter 498

Bridge 503

Conclusion 505

Bibliography 506

Chapter 34: Proxy and Gateway: Managing Third-Party APIs 507

Proxy 508

Databases, Middleware, and Other Third-Party Interfaces 526

Table Data Gateway 528

Using Other Patterns with Databases 539

Conclusion 541

Bibliography 541

Chapter 35: Visitor 543

VISITOR 544

Acyclic Visitor 548

Decorator 560

Extension Object 565

Conclusion 576

Bibliography 577

Chapter 36: State 579

Nested Switch/Case Statements 580

Transition Tables 584

The State Pattern 586

Classes of State Machine Application 598

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 623

What Remains? 636

Chapter 38: The Payroll User Interface: Model View Presenter 637

The Interface 639

Implementation 640

Building a Window 650

The Payroll Window 657

The Unveiling 669

Conclusion 670

Bibliography 670

Appendix A: A Satire of Two Companies 671

Rufus Inc.: Project Kickoff 671

Rupert Industries: Project Alpha 671

Appendix B: What Is Software? 687 Index 699


Best Seller

| | See All

Product Details
  • ISBN-13: 9780132055109
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Pearson
  • Language: English
  • ISBN-10: 0132055104
  • Publisher Date: 19 Apr 2021
  • Binding: Digital download
  • No of Pages: 768


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

REVIEWS           
Be The First to Review
Agile Principles, Patterns, and Practices in C#
Pearson Education (US) -
Agile Principles, Patterns, and Practices in C#
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Agile Principles, Patterns, and Practices in C#

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book
    Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals

    | | See All


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!
    ASK VIDYA