Design Patterns in Working Code (Paperback)
Language: English
Published by Independently Published, 2026
- Softcover
- New

Seller: CitiRetail, Stevenage, United KingdomCitiRetail
AbeBooks seller since June 29, 2022
Condition: New
US$ 26.16
Quantity: 1 available
Add to basketItem description from seller
Paperback. Good software design is not about using more patterns. It is about making the next change safer.A codebase may begin with a simple function, one database, one external service, and a straightforward workflow. Then the second requirement arrives. A new provider is added. Business rules diverge. Failure crosses a network boundary. A once-simple class becomes the place where every new condition accumulates.That is where design patterns become useful.Design Patterns in Working Code is a practical, modern guide to recognizing recurring design pressures and choosing the smallest proven structure that actually solves them.Rather than treating Strategy, Observer, Factory, Adapter, Decorator, Repository, or Circuit Breaker as templates to insert into every project, this book teaches you to ask better engineering questions: What is changing?What must remain stable?Where should the boundary live?What complexity does the pattern remove-and what new complexity does it introduce?Using practical TypeScript examples while keeping the principles applicable across modern programming languages, the book moves from local code structure to application architecture and distributed-system reliability.Inside, you'll learn how to: Use Strategy, Template Method, and State to manage different forms of behavioral variationApply Observer, Command, and Mediator without creating invisible control flowProtect applications from external systems with Adapter and anti-corruption boundariesUse Facade, Bridge, Decorator, Composite, and Proxy where composition creates real valueChoose Factory Method, Abstract Factory, and Builder only when creation carries meaningful decisionsAvoid the generic Repository trap and use Unit of Work, Specification, and Data Mapper deliberatelyApply dependency injection and ports-and-adapters architecture without creating interface-heavy ceremonyDesign reliable remote interactions with timeouts, retries, circuit breakers, bulkheads, and idempotencyUse Transactional Outbox and Saga patterns for distributed workflows and consistencyRefactor legacy systems toward better patterns through characterization tests, seams, Strangler techniques, and Branch by AbstractionRecognize when modern functions, type systems, middleware, frameworks, and cloud platforms already provide pattern mechanicsEvaluate AI-assisted code without confusing generated pattern scaffolding with good architectureRecord architectural decisions and review whether an abstraction actually improves maintainabilityKnow when direct code is still simpler than a patternReal-world scenarios show why pattern names alone are never enough. A retry policy can turn a slowdown into an outage. A repository can merely disguise an ORM. An event bus can make a request impossible to follow. A clean-looking architecture can still point its dependencies in the wrong direction.The book also includes a Pattern Decision Field Guide, a structured learning path, and practical implementation and review checklists covering behavioral, structural, creational, data, reliability, messaging, Saga, refactoring, and security concerns.Whether you're a working developer, technical lead, architect, or code reviewer, this book will help you move beyond pattern recognition and make stronger structural decisions in real software.Start with the force. Choose the smallest useful structure. Make the next change easier. This item is printed on demand. Shipping may be from our UK warehouse or from our Australian or US warehouses, depending on stock availability.…
Seller Inventory # 9798172033049
- Title
- Design Patterns in Working Code (Paperback)
- Author
- Corin Halstead
- Publisher
- Independently Published
- Publication year
- 2026
- Condition
- new
- Binding
- Paperback
- Language
- English
- ISBN 13
- 9798172033049
Good software design is not about using more patterns. It is about making the next change safer.
A codebase may begin with a simple function, one database, one external service, and a straightforward workflow. Then the second requirement arrives. A new provider is added. Business rules diverge. Failure crosses a network boundary. A once-simple class becomes the place where every new condition accumulates.
That is where design patterns become useful.
Design Patterns in Working Code is a practical, modern guide to recognizing recurring design pressures and choosing the smallest proven structure that actually solves them.
Rather than treating Strategy, Observer, Factory, Adapter, Decorator, Repository, or Circuit Breaker as templates to insert into every project, this book teaches you to ask better engineering questions:
What is changing?
What must remain stable?
Where should the boundary live?
What complexity does the pattern remove—and what new complexity does it introduce?
Using practical TypeScript examples while keeping the principles applicable across modern programming languages, the book moves from local code structure to application architecture and distributed-system reliability.
Inside, you'll learn how to:
- Use Strategy, Template Method, and State to manage different forms of behavioral variation
- Apply Observer, Command, and Mediator without creating invisible control flow
- Protect applications from external systems with Adapter and anti-corruption boundaries
- Use Facade, Bridge, Decorator, Composite, and Proxy where composition creates real value
- Choose Factory Method, Abstract Factory, and Builder only when creation carries meaningful decisions
- Avoid the generic Repository trap and use Unit of Work, Specification, and Data Mapper deliberately
- Apply dependency injection and ports-and-adapters architecture without creating interface-heavy ceremony
- Design reliable remote interactions with timeouts, retries, circuit breakers, bulkheads, and idempotency
- Use Transactional Outbox and Saga patterns for distributed workflows and consistency
- Refactor legacy systems toward better patterns through characterization tests, seams, Strangler techniques, and Branch by Abstraction
- Recognize when modern functions, type systems, middleware, frameworks, and cloud platforms already provide pattern mechanics
- Evaluate AI-assisted code without confusing generated pattern scaffolding with good architecture
- Record architectural decisions and review whether an abstraction actually improves maintainability
- Know when direct code is still simpler than a pattern
Real-world scenarios show why pattern names alone are never enough. A retry policy can turn a slowdown into an outage. A repository can merely disguise an ORM. An event bus can make a request impossible to follow. A clean-looking architecture can still point its dependencies in the wrong direction.
The book also includes a Pattern Decision Field Guide, a structured learning path, and practical implementation and review checklists covering behavioral, structural, creational, data, reliability, messaging, Saga, refactoring, and security concerns.
Whether you're a working developer, technical lead, architect, or code reviewer, this book will help you move beyond pattern recognition and make stronger structural decisions in real software.
Start with the force. Choose the smallest useful structure. Make the next change easier.
"Synopsis" may belong to another edition of this title.
CitiRetail
Stevenage, United Kingdom
AbeBooks seller since June 29, 2022
Shipping rates from United Kingdom to U.S.A.
| Item | 7 to 14 business days | 7 to 60 business days |
|---|---|---|
| First item | US$ 49.48 | US$ 49.48 |
Payment methods
Store description
Online business
Seller's business information
ABC BOOKS LIMITED
10 John Street
London, United Kingdom WC1N 2EB
Terms of sale
Orders can be returned within 30 days of receipt.
Shipping terms
Please note that titles are dispatched from our US, Canadian or Australian warehouses. Delivery times specified in shipping terms. Orders ship within 2 business days. Delivery to your door then takes 7-14 days.