Home    |    Instructor-led Training    |    Online Training     
         
 
Courses
ADA
Adobe
Agile
AJAX
Android
Apache
AutoCAD
Big Data
BlockChain
Business Analysis
Business Intelligence
Business Objects
Business Skills
C/C++/Go programming
Cisco
Citrix
Cloud Computing
COBOL
Cognos
ColdFusion
COM/COM+
CompTIA
CORBA
CRM
Crystal Reports
Data Science
Datawarehousing
DB2
Desktop Application Software
DevOps
DNS
Embedded Systems
Google Web Toolkit (GWT)
IPhone
ITIL
Java
JBoss
LDAP
Leadership Development
Lotus
Machine learning/AI
Macintosh
Mainframe programming
Mobile
MultiMedia and design
.NET
NetApp
Networking
New Manager Development
Object oriented analysis and design
OpenVMS
Oracle
Oracle VM
Perl
PHP
PostgreSQL
PowerBuilder
Professional Soft Skills Workshops
Project Management
Rational
Ruby
Sales Performance
SAP
SAS
Security
SharePoint
SOA
Software quality and tools
SQL Server
Sybase
Symantec
Telecommunications
Teradata
Tivoli
Tomcat
Unix/Linux/Solaris/AIX/
HP-UX
Unisys Mainframe
Visual Basic
Visual Foxpro
VMware
Web Development
WebLogic
WebSphere
Websphere MQ (MQSeries)
Windows programming
XML
XML Web Services
Other
Design Patterns in Java Software (Version 8.0)
(click here for version 7 course)
Java Training Overview

This course seeks to develop, for the experienced Java programmer, a strong, shared vocabulary of design patterns and best practices. The course begins with a discussion of how to recognize and apply design patterns - that is, how to incorporate pattern awareness into one's own analysis, design, and implementation practices. The main body of the course focuses on the Gang of Four design patterns, with a chapter each on creational, behavioral, and structural patterns. The course includes both pencil-and-paper design exercises and traditional coding labs to reinforce finer points of important patterns.

This is not a patterns catalog: it is as much a study of how to "think in patterns" as it is an introduction to several of the most important patterns. Students will be challenged to bring their own previous development experience to the discussion, to see the patterns in everyday design and coding solutions. The course puts more emphasis on some patterns than others. We believe that students will be better served by going into several patterns in depth -- and with lively discussions of several others -- than by through every GoF pattern in rote form.

The course also includes an optional "Chapter Zero" on some more basic practices in object-oriented concepts and OO factoring and re-factoring. Though not appropriate for all students, it may be helpful for some audiences with less real-world Java experience.

Java Training Learning Objectives

  • Start to think in terms of design patterns.
  • Recognize and apply patterns to specific software development problems.
  • Use known patterns as a shared vocabulary in designing and discussing solutions.
  • Use Factories and Singletons to control object creation, for a variety of reasons.
  • Use Observers, Observables, and Model/View/Controller systems to decouple application behavior and preserve code scalability.
  • Understand the full motivation for the Command pattern and take advantage of Command frameworks in JFC.
  • Implement Adapters, rather than building redundant classes or creating intermediate data structures for consumption by existing code.
  • Understand and apply a range of other J2SE and J2EE patterns to improve code quality and scalability, and to produce high-quality solutions right off the bat.
Java Training Prerequisites
  • Solid Java programming experience is essential - especially object-oriented use of the language. Language features and techniques that are integral to some lab exercises include interfaces and abstract classes, threading, generics and collections, and recursive methods.
  • Previous experience with UML (Unified Modeling Language) will be helpful, but is not critical. The course uses UML class diagrams extensively but keeps notation fairly simple, and also includes a quick-reference appendix.
Java Training Course duration

3 days.

Java Training Course outline

Chapter 0. Object-Oriented Refactoring
  • A Place for Everything ...
  • Warning Signs
  • Magic Numbers and String Literals
  • Effective Use of Enumerated Types
  • Externalizing Volatile Information
  • Over-Encapsulation
  • Separation of Concerns
  • Making Classes Observable
  • Delegation Instead of Inheritance
  • Factories and Dependency Injection
Chapter 1. Recognizing and Applying Patterns
  • Design Patterns
  • Defining a Pattern
  • Unified Modeling Language
  • Seeing Patterns
  • Warning Signs and Pitfalls
  • Functional Programming and Its Impact on Patterns
Chapter 2. Creational Patterns
  • Factory Patterns
  • The Singleton Pattern
  • Singleton vs. Class Utility
  • APIs and Providers
  • Cascading Factories
  • Factories vs. Dependency Injection
Chapter 3. Behavioral Patterns
  • Un-Tangling Your Code
  • Warning Sign: Letting Subclasses Dictate
  • The Strategy Pattern
  • The Template Method Pattern
  • The Observer Pattern
  • Functional Interfaces as Observers
  • The Model/View/Controller Pattern
  • The Command Pattern
  • The Chain of Responsibility Pattern
Chapter 4. Structural Patterns
  • The Composite Pattern
  • The Adapter Pattern
  • Adapters for Performance
  • The Decorator Pattern
  • The Façade Pattern
  • The Flyweight Pattern
  • Fixed vs. Open Flyweights
Chapter 5. J2EE Patterns
  • Model/View/Controller, Redux
  • The Intercepting Filter Pattern
  • The Front and Application Controller Patterns
  • The Business Delegate Pattern
  • The Service Locator Pattern
  • The Transfer Object Pattern
  • The Composite Entity Pattern
  • The Data Access Object Pattern
Appendix A. Learning Resources

Appendix B. UML Quick Reference

System Requirements


Hardware – minimal: Core i5, 1.8 GHz, 4 gig RAM, 500 meg disk space.
Hardware – recommended: Core i5, 2.8 GHz, 8 gig RAM, 500 meg disk space.
Operating system: Tested on Windows 7/8, Mac OS 10.8.5
Network and Security: Limited privileges required
Software: All free downloadable tools.


Please contact your training representative for more details on having this course delivered onsite or online

Training Outlines - the one stop shopping center for IT training.
© Training Outlines All rights reserved