C# Design Pattern Essentials

Recommended retail price: £ 19.95 Our price: £ 18.95 each Publisher: Ability First Limited

Paperback (ISBN: 978-09565758-6-9)

For the ebook version on Amazon Kindle click here

  • C# Design Pattern Essentials (available as a paperback book or as a downloadable eBook) will help take your knowledge of the fundamentals of the C# programming language and put it into practice in the real world by learning about Design Patterns.

    Now you too can use the techniques developed by experts over the last couple of decades to solve your programming challenges, through easy to implement solutions to the most common problems that programmers face. Understanding design patterns is essential in being able to write clear, concise and effective code, even for complex applications.

    C# Design Pattern Essentials gives you a step-by-step guide to the world of object-oriented software development, using tried and trusted techniques. The examples and code extracts have been deliberately kept simple, enabling you to concentrate on understanding the concepts and application of each pattern rather than having to wade through irrelevant source code. And the pattern examples have been designed around a common theme, making it easier for you to see how they relate to each other and more importantly how you can adapt them to your applications.

    While the book assumes a basic knowledge of C# you certainly don't need to be a guru. This book is perfect for the programmer who wishes to take their skills up to the next level, so you can feel confident about using C# in real-world applications.

    Coverage includes:

    • All 23 of the design patterns described in the seminal work of Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides; Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley, 1995);
    • Additional patterns for use in real-world applications;
    • Full, simple explanation of the Model-View-Controller (MVC) pattern;
    • Sample 3-tier application applying commonly used patterns;
    • Easy to follow UML diagrams;
    • Advice on how to use the patterns in practice.

     

    The author has over three decades of software development experience.

  • Table of contents

    Preface

    Part I: Introduction

    • 1. What are Design Patterns?

    Part II: Creational Patterns

    • 2. Abstract Factory
    • 3. Builder
    • 4. Factory Method
    • 5. Prototype
    • 6. Singleton

    Part III: Structural Patterns

    • 7. Adapter
    • 8. Bridge
    • 9. Composite
    • 10. Decorator
    • 11. Facade
    • 12. Flyweight
    • 13. Proxy

    Part IV: Behavioural Patterns

    • 14. Chain of Responsibility
    • 15. Command
    • 16. Interpreter
    • 17. Iterator
    • 18. Mediator
    • 19. Memento
    • 20. Observer
    • 21. State
    • 22. Strategy
    • 23. Template Method
    • 24. Visitor

    Part V: Other Useful Patterns

    • 25. Null Object
    • 26. Simple Factory
    • 27. Model View Controller
    • 28. Layers

    Part VI: Design Patterns in Practice

    • 29. Sample 3-Tier Application

    Part VII: Appendixes

    • A: UML Diagrams
    • B: Quick Reference
    • C: Bibliography
  • Chapter 2

    • (paperback page 32 and eBook): In the UML diagram for the Abstract Factory pattern the shaded box on the right should be named VanFactory;

     

    Chapter 3

    • (paperback page 37 and eBook): In the UML diagram for the Builder pattern the class box on the right of VanClient should be named VanBuilder;
    • (eBook only): Near the end of the chapter within the last block of code the statement Vehicle v = director.Build(builder); should be IVehicle v = director.Build(builder); ;

     

    Chapter 8

    • (paperback page 70 only): In the first block of code the statement controls1.Nrake() should becontrols1.Brake.

     

    Chapter 10

    • (paperback page 80 and eBook): In the constructor within class AbstractVehicleOption the first line should read : base(vehicle.Engine, vehicle.Colour) in order for both the engine and colour attributes to be set.

     

    Chapter 20

    • (paperback page 148 and eBook). In the constructor within class Speedometer the first line should read: currentSpeed = 0;

     

  • The source code for the book is hosted on GitHub. You can either view it online or click the Download ZIP button (on the GitHub site) to obtain a copy on your local computer. Please take note of the README file that appears on the page.

    The following link will take you to the hosted source code on GitHub:

    https://github.com/abraxabooks/csdpe