Cargando…

Practical design patterns for Java developers : hone your software design skills by implementing popular design patterns in Java /

Unravel the power of Java design patterns by learning where to apply them effectively to solve specific software design and development problems Key Features Decouple logic across objects with dependency injection by creating various vehicles with features Finalize vehicle construction by chaining h...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Wengner, Miroslav (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham : Packt Publishing, 2023.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Foreword
  • Contributors
  • Table of Contents
  • Preface
  • Part 1: Design Patterns and Java Platform Functionalities
  • Chapter 1: Getting into Software Design Patterns
  • Technical requirements
  • Code
  • from symbols to program
  • Examining OOP and APIE
  • Only exposing what's required
  • encapsulation
  • Inevitable evolution
  • inheritance
  • Behavior on demand
  • polymorphism
  • Standard features
  • abstraction
  • Gluing parts to APIE
  • Understanding the SOLID design principles
  • The single-responsibility principle (SRP)
  • the engine is just an engine
  • The open-closed principle (OCP)
  • The Liskov Substitution Principle (LSP)
  • substitutability of classes
  • The interface segregation principle (ISP)
  • The dependency inversion principle (DIP)
  • Significance of design patterns
  • Reviewing what challenges design patterns solve
  • Summary
  • Questions
  • Further reading
  • Chapter 2: Discovering the Java Platform for Design Patterns
  • Technical requirements
  • Knocking on Java's door
  • Exploring the model and functionality of the Java platform
  • The JDK
  • The JRE
  • The JVM
  • Reviewing GC and the Java memory model
  • The JMM
  • GC and automatic memory management
  • Examining the core Java APIs
  • Primitive data types and wrappers
  • Working with the String API
  • Introducing arrays
  • Discovering a collection framework
  • Math APIs
  • Functional programming and Java
  • Introducing lambdas and functional interfaces
  • Using functional interfaces in lambda expressions
  • Getting to grips with the Java Module System
  • A quick review of Java features from 11 to 17+
  • The local variable syntax for lambda parameters (Java SE 11, JEP-323)
  • Switch expressions (Java SE 14, JEP-361)
  • Text blocks (Java SE 15, JEP-378)
  • Pattern matching for instanceof (Java SE 16, JEP-394)
  • Records (Java SE 16, JEP-395)
  • Sealed classes (Java SE 17, JEP-409)
  • UTF-8 by default (Java SE 18, JEP-400)
  • Pattern matching for switch (Java SE 18, Second Preview, JEP-420)
  • Understanding Java concurrency
  • From a basic thread to executors
  • Executing tasks
  • Summary
  • Questions
  • Further reading
  • Part 2: Implementing Standard Design Patterns Using Java Programming
  • Chapter 3: Working with Creational Design Patterns
  • Technical requirements
  • It all starts with a class that becomes an object
  • Creating objects based on input with the factory method pattern
  • Motivation
  • Finding it in the JDK
  • Sample code
  • Conclusion
  • Creating objects from different families using the abstract factory pattern
  • Motivation
  • Finding it in the JDK
  • Sample code
  • Conclusion
  • Instantiating complex objects with the builder pattern
  • Motivation
  • Finding it in the JDK
  • Sample code
  • Conclusion
  • Cloning objects with the prototype pattern
  • Motivation
  • Finding it in the JDK
  • Sample code
  • Conclusion