Software Design Patterns for Java Developers: Expert-led approaches to build re-usable software and enterprise applications - 2nd Edition

· BPB Publications
Ebook
302
Pages
Tools

About this ebook

DESCRIPTION 

Designing scalable software is difficult; it requires significant effort and knowledge to come up with a design solution that is easy to implement, feasible, adheres to the programming principles, and is scalable in nature. Most functional applications today rely on one or more design patterns to accomplish the complex tasks they were built for.


This book explores the fundamentals of software design and examines a set of widely adopted object-oriented design patterns that have shaped modern software development across industries. In this new edition, you will gain access to expanded technical content featuring dedicated chapters on the bridge pattern for separating abstraction from implementation and the filter pattern for modular data handling. This new edition introduces the composite pattern for tree-like hierarchies and pipeline architectures for sequential task decomposition. You will also find deeper insights into resource bandwidth optimization and refined UML diagrams tailored for mid-to-senior level engineers working on scalable, multi-module systems.


By the end of this book, you will learn to implement the design patterns and understand their purpose, benefits, potential drawbacks, and challenges associated with each of them.


WHAT YOU WILL LEARN

● Understand the intent behind core design patterns.

● Identify recurring design problems in real systems and recognize patterns.

● Apply object-oriented Java patterns with confidence.

● Improve the maintainability of existing Java codebases.

● Detects common anti-patterns and design risks.

● In this new edition, explore new structural patterns such as bridge, filter, and composite.


WHO THIS BOOK IS FOR

This book is for mid and senior-level engineers and architects, familiar with medium to large-scale systems. It serves as a definitive guide for professionals managing multiple-module systems who aim to improve their software design understanding.


TABLE OF CONTENTS

1. Enlighten Yourself

2. One of a Kind

3. Object Factory

4. Delegate Object Construction

5. Recycle and Reuse

6. Prototypes

7. Adapter

8. Decorating Objects

9. The Guardian

10. Simplifying the Complexity

11. Bridge

12. Applying Filters

13. Composite

14. Template

15. Keep a Close Eye

16. State and Behaviors

17. Executing Commands

18. Strategy

19. Pipeline

20. Beyond Design Patterns



Discover more

About the author

Lalit Mehra is a software engineer with over fifteen years of experience designing, scaling, and evolving complex software systems. Much of his career has been centered around payments and the broader fintech ecosystem. He currently works as a technical architect at Fyscal Technologies. Previously, he held key engineering roles at Salesforce and Paytm, contributing to large-scale systems operating at significant scale. Across these roles, he has helped design distributed systems that must perform consistently under real-world load and business pressure. His technical focus includes distributed systems, microservices, scalability, and asynchronous architectures. Lalit holds a master’s degree in computer science from Indraprastha University, Delhi, and has earned professional certifications from Oracle and Microsoft. Through his writing, he aims to bring clarity to software architecture by grounding it in practical trade-offs rather than abstract theory.



Rate this ebook

Tell us what you think.

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.