Sciore, Edward,

Java program design principles, polymorphism, and patterns / [electronic resource] : Edward Sciore. - Berkeley, CA : Apress L. P., 2019. - 1 online resource (465 p.).

Description based upon print version of record. JavaFX Views and Controllers

Intro; Table of Contents; About the Author; About the Technical Reviewer; Acknowledgments; Introduction; Chapter 1: Modular Software Design; Designing for Change; Object-Oriented Basics; APIs and Dependencies; Modularity; Class Diagrams; Static vs. Nonstatic; A Banking Demo; The Single Responsibility Rule; Refactoring; Unit Testing; Class Design; Encapsulation; Redistributing Responsibility; Dependency Injection; Mediation; Design Tradeoffs; The Design of Java Maps; Summary; Chapter 2: Polymorphism; The Need for Polymorphism; Interfaces; Reference Types; Type Safety; Type Casting Cipher Input StreamsDecorator Transparency; Summary; Chapter 9: Composites; Predicates as Composites; Composite Objects in JavaFX; The Composite Pattern; A Cookbook Example; Traversing a Composite Object; Summary; Chapter 10: Observers; Observers and Observables; The Observer Pattern; Push vs. pull; Managing the Observer List; The Generic Observer Pattern in Java; Events; Observers in JavaFX; JavaFX Properties; Properties as Wrappers; Properties as Observables; JavaFX Bindings; Summary; Chapter 11: Model, View, and Controller; The MVC Design Rule; Multiple Views for a Model; MVC in Excel External IterationInternal Iteration; The Visitor Pattern; Predicates; Collection Streams; Summary; Chapter 7: Adapters; Inheritance for Reuse; Wrappers; The Adapter Pattern; Text Streams; The Adapter OutputStreamWriter; The Adapter InputStreamReader; The Adapter StringReader; Object Streams; Saving State in the Banking Demo; Adapters for the Banking Demo; Summary; Chapter 8: Decorators; Decorator Classes; The Decorator Pattern; The Chain of Command Pattern; Decorated Iterators; Implementing Collection Streams; Decorated Input Streams; Buffered Input Streams; Progress Monitoring The Strategy PatternComparators; Anonymous Inner Classes; Explicit Anonymous Classes; Lambda Expressions; The Strategy Pattern as a Design Tool; The Command Pattern; Eliminating the Class Hierarchy; Templates vs. Strategies; Summary; Chapter 5: Encapsulating Object Creation; Object Caching; Singleton Classes; Singleton Strategy Classes; Static Factory Methods; Factory Objects; Cached Factory Objects; The Factory Pattern; Factories for Customized Objects; Summary; Chapter 6: Iterables and Iteration; Iterators; Writing an Iterator Class; The Iterator Pattern; Designing Iterable Classes TransparencyThe Open-Closed Rule; The Comparable Interface; Subtypes; The Java Collection Library; ArrayList; LinkedList; HashSet; TreeSet; The Liskov Substitution Principle; Should SortedSet Extend List?; Why Isn't There an Interface SortedList?; Should Queue Extend List? Should List Extend Queue?; Why Have the Interface Set if It Doesn't Provide any Added Functionality?; The Rule of Abstraction; Adding Code to an Interface; Summary; Chapter 3: Class Hierarchies; Subclasses; Abstract Classes; Writing Java Collection Classes; Byte Streams; The Template Pattern; Summary; Chapter 4: Strategies

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.

1484241436 9781484241431

com.springer.onix.9781484241431 Springer Nature

GBB917871 bnb


JavaScript (Computer program language)
COMPUTERS / Programming Languages / Java.
JavaScript (Computer program language)


Electronic books.

QA76.73.J38

005.2/762