Get a grounding in polymorphism and other fundamental aspects of object-oriented program design and implementation, and learn a subset of design patterns that any practicing Java professional simply must know in today’s job climate.
Java Program Design presents program design principles to help practicing programmers up their game and remain relevant in the face of changing trends and an evolving language. The book enhances the traditional design patterns with Java's new functional programming features, such as functional interfaces and lambda expressions. The result is a fresh treatment of design patterns that expands their power and applicability, and reflects current best practice.
The book examines some well-designed classes from the Java class library, using them to illustrate the various object-oriented principles and patterns under discussion. Not only does this approach provide good, practical examples, but you will learn useful library classes you might not otherwise know about.
The design of a simplified banking program is introduced in chapter 1 in a non-object-oriented incarnation and the example is carried through all chapters. You can see the object orientation develop as various design principles are progressively applied throughout the book to produce a refined, fully object-oriented version of the program in the final chapter.
What You'll Learn
• Create well-designed programs, and identify and improve poorly-designed ones
• Build a professional-level understanding of polymorphism and its use in Java interfaces and class hierarchies
• Apply classic design patterns to Java programming problems while respecting the modern features of the Java language
• Take advantage of classes from the Java library to facilitate the implementation of design patterns in your programs
Who This Book Is For
Java programmers who are comfortable writing non-object-oriented code and want a guided immersion into the world of object-oriented Java, and intermediate programmers interested in strengthening their foundational knowledge and taking their object-oriented skills to the next level. Even advanced programmers will discover interesting examples and insights in each chapter.
Author(s): Edward Sciore
Edition: 1
Publisher: Apress
Year: 2019
Language: English
Commentary: True PDF
Pages: 456
Tags: Java; Design Patterns; Object-Oriented Programming
Front Matter ....Pages i-xvii
Modular Software Design (Edward Sciore)....Pages 1-46
Polymorphism (Edward Sciore)....Pages 47-85
Class Hierarchies (Edward Sciore)....Pages 87-126
Strategies (Edward Sciore)....Pages 127-162
Encapsulating Object Creation (Edward Sciore)....Pages 163-199
Iterables and Iteration (Edward Sciore)....Pages 201-235
Adapters (Edward Sciore)....Pages 237-270
Decorators (Edward Sciore)....Pages 271-313
Composites (Edward Sciore)....Pages 315-351
Observers (Edward Sciore)....Pages 353-388
Model, View, and Controller (Edward Sciore)....Pages 389-443
Back Matter ....Pages 445-456