BPB Online LLP
Software Design Patterns for Java Developers
Lalit Mehra
Software Design Patterns for Java Developers
US$ 19.95
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Description
Contents
Reviews

Practice Design Patterns to Enrich and Streamline Software Development

Key Features
● Classify design patterns into three broad categories.
● Deep dive into design patterns with individual chapters covering them in detail.
● Understand design patterns to fast track and streamline the development effort.

Description
'Software Design Patterns for Java Developers' discusses the fundamentals of software design as well as well-established design patterns that simplify and outperform the entire software development cycle.

To begin with, the book covers the various types of software design patterns and how they differ from one another. Using numerous examples, you can investigate the implementation of various design patterns such as singleton, object pool, adapter, abstract factory, and proxy. Other design patterns include simplifying complex systems, changing the algorithm behavior in runtime, securing broadcasting messages, and many more. Additionally, a chapter is dedicated to understanding some of the most effective design principles and anti-patterns available today.

Throughout the book, you will implement the design patterns and understand their purpose, benefits, potential drawbacks, and challenges for each of these design patterns.

What you will learn
● Provide design solutions that are clean and transparent.
● Design low maintenance and low cost systems.
● Design reusable and scalable solutions.
● Design solutions that are easy to understand and readable.
● Utilize time-tested and continually refined design best practises.
● Avoid pitfalls during the course of designing a system.

Who this book is for
This book is for software developers, experienced programmers, software architects with basic understanding of software development and are comfortable working with medium to large-scale systems. Best to have hands on experience with Java programming in order to read this book.

Table of Contents
1. Enlighten Yourself
2. One of a Kind
3. Object Factory
4. Delegate Object Construction
5. Recycle and Reuse
6. Adapter
7. Decorating Objects
8. The Guardian
9. Simplifying the Complexity
10. Template
11. Keep a close eye
12. State and behaviours
13. Executing Commands
14. Beyond Design Patterns

Language
English
ISBN
9789391392475
Cover Page
Title Page
Copyright Page
Dedication Page
About the Author
About the Reviewers
Acknowledgement
Preface
Errata
Table of Contents
1. Enlighten Yourself
Structure
Objective
Introduction
Design patterns
Classification of design patterns
Creational design patterns
Familiar use cases
Structural design patterns
Familiar use cases
Behavioral design patterns
Familiar use cases
Why bother about software design?
Benefits of a good design
Think beyond method and classes
Conclusion
Questions
Pick the odd one out
Find the odd one out
Perfect match
Select the correct option
Answers
Pick the odd one out
Find the odd one out
Perfect match
Select the correct option
2. One of a Kind
Structure
Objective
Introduction
Logger
Singletons
Singleton design pattern
Variations
Lazy initialization
Multiple instances of a singleton
Eager initialization
Thread safe singleton
Reflection meets singleton
Enum as singleton
Singleton and serialization
Conclusion
Questions
Pick the odd one out
Find the odd one out
Complete the code
Select two correct options
Answers
Pick the odd one out
Find the odd one out
Select two correct options
3. Object Factory
Structure
Objective
Introduction
Interacting with interfaces
Building factories
Response factory
Response factory’s first run
The Simple factory
Multiple factories
Factory that speaks French
Response updated!
Response factory’s second run
The factory method pattern
Family of objects
Dependency injection
Response factory’s third run
Abstract factory
Conclusion
Questions
Pick the odd one out
Find the odd one out
Complete the code
Select two correct answers
Answers
Pick the odd one out
Find the odd one out
Select two correct answers
4. Delegate Object Construction
Structure
Objective
Introduction
Delegating object construction
Representational state
Implementing builders
The interface
Concrete builders
Deployment manager
Testing the builders
Builder design pattern – defined
Advantages and drawbacks
Usage
Conclusion
Questions
Pick the odd one out
Odd one out
Complete the code
Select two correct answers
Answers
Find the odd one out
Pick the odd one out
Select two correct answers
5. Recycle and Reuse
Structure
Objective
Introduction
Object reusability
Object pool design pattern
When to use an object pool?
Implementing an object pool
Pool initialization
Pool destruction
Acquiring objects
Releasing objects
Varying implementations
Partial initialization
Releasing objects – Who is the owner?
Advantages and drawbacks
Usage
Conclusion
Questions
Pick the odd one out
Find the odd one out
Complete the code
Select two correct answers
Answers
Pick the odd one out
Find the odd one out
Select two correct answers
6. Adapter
Structure
Objective
Introduction
Incompatible interfaces
Adapter design pattern
Building an adapter
Interfaces
Concrete implementations
The adapter
Testing the adapter
Adapter design pattern - defined
Benefits and drawbacks
Usage
Conclusion
Questions
Pick the odd one out
Find the odd one out
Select two correct answers
Answers
Pick the odd one out
Find the odd one out
Select two correct answers
7. Decorating Objects
Structure
Objective
Introduction
Wrappers
Decorator design pattern
Building a decorator
The interface
The subject
Base decorator
Concrete decorators
Testing the decorators
Decorator design pattern - Defined
Benefits and drawbacks
Usage
Conclusion
Questions
Pick the odd one out
Find the odd one out
Select two correct answers
Answers
Pick the odd one out
Find the odd one out
Select two correct answers
8. The Guardian
Structure
Objective
Introduction
Proxies
Proxy design pattern
Types of proxies
Remote proxy
Virtual proxy
Protection proxy
Building a proxy
The interface
The subject
The proxy
Testing the proxy
Proxy design pattern - defined
Benefits and drawbacks
Usage
Conclusion
Questions
Pick the odd one out
Find the odd one out
Select two correct answers
Answers
Pick the odd one out
Find the odd one out
Select two correct answers
9. Simplifying the Complexity
Structure
Objective
Introduction
Facade
The Facade design pattern
Building a facade
All for one
One for all
Facade design pattern - defined
Benefits and drawbacks
Usage
Conclusion
Questions
Pick the odd one out
Find the odd one out
Select two correct answers
Answers
Pick the odd one out
Find the odd one out
Select two correct answers
10. Template
Structure
Objective
Introduction
Template
Template method design pattern
Building a template method
The template method
Varying implementations
Testing the template method pattern
Template method design pattern - defined
Benefits and drawbacks
Usage
Conclusion
Questions
Pick the odd one out
Find the odd one out
Select two correct answers
Answers
Pick the odd one out
Find the odd one out
Select two correct answers
11. Keep a Close Eye
Structure
Objective
Introduction
Observer design pattern
Building observer design pattern
The interfaces
The subject
The observers
Testing the observer design pattern
Variations
Push mechanism
Pull mechanism
Observer design pattern - defined
Benefits and drawbacks
Usage
Conclusion
Questions
Pick the odd one out
Find the odd one out
Select two correct answers
Answers
Pick the odd one out
Find the odd one out
Select two correct answers
12. State and Behaviors
Structure
Objective
Introduction
State design pattern
Implementing state pattern
The interface
The concrete implementations
The stateful object
Testing the state design pattern
State design pattern - defined
Benefits and drawbacks
Usage
Conclusion
Questions
Pick the odd one out
Find the odd one out
Select two correct answers
Answers
Pick the odd one out
Find the odd one out
Select two correct answers
13. Executing Commands
Structure
Objective
Introduction
Command design pattern
Implementing command pattern
The receiver
The command
The invoker
The client
Command design pattern - defined
Benefits and drawbacks
Usage
Conclusion
Questions
Pick the odd one out
Find the odd one out
Select two correct options
Answers
Pick the odd one out
Find the odd one out
Select two correct options
14. Beyond Design Patterns
Structure
Objective
Introduction
Quick recap
Patterns - a summary
Classification - class versus object patterns
Design principles
Don’t repeat yourself
Single responsibility
Dependency inversion
Encapsulate what varies
Open closed
Favor interface over implementation
Interface segregation
Least knowledge
Anti-patterns
An interface for constants
The god object
Caching irregularities
Hard code
Boat anchor
Copy and paste
No silver bullets
Conclusion
Questions
Find the odd one out
Answers
Find the odd one out
Index
The book hasn't received reviews yet.
You May Also Like
Implementing Design Patterns in C# and .NET 5
$19.95
Alexandre F. Malavasi Cardoso
Implementing Design Patterns in C# and .NET 5
Kotlin In-depth [Vol-II]
$19.95
Aleksei Sedunov
Kotlin In-depth [Vol-II]
Kotlin In-Depth [Vol-I]
$19.95
Aleksei Sedunov
Kotlin In-Depth [Vol-I]
Java Professional Interview Guide
$19.95
Mandar Maheshwar Jog
Java Professional Interview Guide
Mastering C# 8.0
$19.95
Joydip Kanjilal
Mastering C# 8.0
Python for Professionals
$19.95
Matt Telles
Python for Professionals
Python In - Depth
$19.95
Ahidjo Ayeva, Kamon Ayeva, Aiman Saed
Python In - Depth
JavaScript for Modern Web Development
$19.95
Alok Ranjan, Abhilasha Sinha, Ranjit Battwad
JavaScript for Modern Web Development
Decoding JavaScript
$19.95
Rushabh Mulraj Shah
Decoding JavaScript