My Account Log in

1 option

Real-world implementation of C# design patterns : overcome daily programming challenges using elements of reusable object-oriented software / Bruce M. Van Horn II.

Ebook Central College Complete Available online

Ebook Central College Complete
Format:
Book
Author/Creator:
Van Horn, Bruce M., II, author.
Language:
English
Subjects (All):
C (Computer program language).
Physical Description:
1 online resource (443 pages)
Edition:
First edition.
Place of Publication:
Birmingham, England : Packt Publishing Ltd., [2022]
Summary:
Build robust applications in C# easily using effective and popular design patterns and best practicesKey FeaturesRecognize solutions to common problems in software design with C#Explore real-world applications of design patterns that can be used in your everyday workGet to grips with 14 patterns and their design implementationsBook DescriptionAs a software developer, you need to learn new languages and simultaneously get familiarized with the programming paradigms and methods of leveraging patterns, as both a communications tool and an advantage when designing well-written, easy-to-maintain code. Design patterns, being a collection of best practices, provide the necessary wisdom to help you overcome common sets of challenges in object-oriented design and programming. This practical guide to design patterns helps C# developers put their programming knowledge to work. The book takes a hands-on approach to introducing patterns and anti-patterns, elaborating on 14 patterns along with their real-world implementations. Throughout the book, you'll understand the implementation of each pattern, as well as find out how to successfully implement those patterns in C# code within the context of a real-world project. By the end of this design patterns book, you’ll be able to recognize situations that tempt you to reinvent the wheel, and quickly avoid the time and cost associated with solving common and well-understood problems with battle-tested design patterns.What you will learnGet to grips with patterns, and discover how to conceive and document themExplore common patterns that may come up in your everyday workRecognize common anti-patterns early in the processUse creational patterns to create flexible and robust object structuresEnhance class designs with structural patternsSimplify object interaction and behavior with behavioral patternsWho this book is forThis book is for beginner and mid-level software developers who are looking to take their object-oriented programs or software designing skills to the next level by learning to leverage common patterns. A firm grasp of programming fundamentals and classical object-oriented programming (OOP) using languages like C#, C++, Objective-C, or Java is expected.
Contents:
Cover
Title Page
Copyright and Credits
Foreword
Contributors
Table of Contents
Preface
Part 1: Introduction to Patterns (Pasta) and Antipatterns (Antipasta)
Chapter 1: There's a Big Ball of Mud on Your Plate of Spaghetti
Technical requirements
No battle plan survives first contact with the enemy
The Stovepipe system
The Big Ball of Mud
Time
Cost
Experience
Skill
Visibility
Complexity
Change
Scale
The Golden Hammer
A throwaway code example
How can patterns help?
Summary
Questions
Further reading
Chapter 2: Prepping for Practical Real-World Applications of Patterns in C#
Becoming a prepper
Spaghetti &lt
lasagna &lt
ravioli - software evolution explained with pasta
Spaghetti code
Lasagna code
Ravioli - the ultimate in pasta code
The foundational principle - writing clean code
You should write code that is readable by humans
Establishing and enforcing style and consistency
Limiting cognitive load
Terse is worse
Comment but don't go overboard
Creating maintainable systems using SOLID principles
The Single Responsibility principle
The Open-Closed Principle
The Liskov Substitution principle
The Interface Segregation principle
The Dependency Inversion principle
Measuring quality beyond the development organization
Code reviews
Overall design
Functionality
Part 2: Patterns You Need in the Real World
Chapter 3: Getting Creative with Creational Patterns
The following story is fictitious
The initial design
No pattern implementation
The Simple Factory pattern
The Factory Method pattern
The Abstract Factory pattern
The Builder pattern
The Object Pool pattern
The Singleton pattern
Summary.
Questions
Chapter 4: Fortify Your Code With Structural Patterns
B2B (back to bicycles)
The Decorator pattern
The Façade pattern
The Composite pattern
The Bridge pattern
Chapter 5: Wrangling Problem Code by Applying Behavioral Patterns
Meanwhile, back at the bicycle factory
The Command pattern
Applying the Command pattern
Coding the Command pattern
Testing the Command pattern's code
The Iterator pattern
Applying the Iterator pattern
Coding the Iterator pattern
Trying out the new iterator
The Observer pattern
Applying the Observer pattern
Coding the Observer pattern
The Strategy pattern
Applying the Strategy pattern
Coding the Strategy pattern
Part 3: Designing New Projects Using Patterns
Chapter 6: Step Away from the IDE! Designing with Patterns Before You Code
A bad day at the agency
Bumble Bikes factory - Dallas, Texas
A physical rehabilitation clinic - Dallas, Texas
Designing with patterns
The first pass
The seat
The frame
Wheels and casters
The motor for the powered chair
The steering mechanism for the powered chair
The battery for the powered chair
The track drive system for the Texas Tank
Adding patterns
The first design meeting
The second pass
Chapter 7: Nothing Left but the Typing - Implementing the Wheelchair Project
The crack of noon
Setting up the project
Wheelchair components
Finishing the wheelchair base classes
Finishing up the composite
Implementing the Builder pattern.
Another refactor
Adding concrete component classes
Wrapping up the Builder pattern
Adding the Singleton pattern
Painting the chairs with the Bridge pattern
Chapter 8: Now You Know Some Patterns, What Next?
Patterns we didn't discuss
Prototype
Adapter
Flyweight
Chain of Responsibility
Proxy
Interpreter
Mediator
Memento
State
Template Method
Visitor
Patterns beyond the realm of OOP
Software architecture patterns
Data access patterns
Creating your own patterns
Name and classification
The problem description
The solution description
Consequences of using the pattern
Not everybody likes patterns
Sundance Square - Fort Worth, Texas
Appendix 1: A Brief Review of OOP Principles in C#
A quick background of C#
C# is a general-purpose language
C# is purely and fully object-oriented
C# uses a static, strong type system
C# has automatic bounds checking and detection for uninitialized variables
C# supports automated garbage collection
C# code is highly portable
Language mechanics in C#
Variables in C#
Classes
Encapsulation
C# auto-implemented properties
Accessor logic with backing variables
Inheritance
Interfaces
Defining interfaces
Implementing interfaces
IDEs for C# development
Visual Studio
VS Code
Rider
Appendix 2: A Primer on the Unified Modeling Language (UML)
The structure of a class diagram
Enumerations
Packages
Connectors
Interface realization
Composition
Association
Aggregation
Directed association
Dependency
Notes
Best practices.
Less is more - don't try to put everything in one big diagram
Don't cross the lines
The most direct path for lines leads to a mess
Parents go above children
Keep your diagrams neat
Index
Other Books You May Enjoy.
Notes:
Description based on publisher supplied metadata and other sources.
Description based on print version record.
ISBN:
9781803247953
1803247959
OCLC:
1347025760

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Library Catalog Using Articles+ Library Account