Course 472:
Java Best Practices and Design Patterns
(4 days)
Course Description
This in-depth workshop provides developers and architects the ability to identify, apply, and customize object-oriented (Gang-of-Four) and Java Enterprise design patterns. The course also introduces best practices in organizing and testing Java projects.
Learning objectives
- Write lighter and more flexible code
- Automate building and testing Java applications
- Design better Java classes
- Create behavior at runtime
- Create objects on demand
- Improve code structure
- Optimize Java code using design patterns
Who should attend
This is an intermediate level Java programming course, designed for developers who wish to improve their Java programming and design skills. The student should be an experienced J2EE/Java programmer, with practical development experience in Java
Course Outline
Module 1: Getting Started
- Coding Conventions
- A Few Best Practices
- Unit Testing
Module 2: Effective Java
- Why Effective Java?
- Creation and Destruction
- java.lang.Object
- Classes and Interfaces
- Methods
- General Programming
- Exceptions
Module 3: Designing Java Classes
- Design Principles
- Singleton
- Template Method
- Strategy
- Command
- Memento
Module 4: Creating Behavior at Runtime
- General Purpose Classes
- Bridge
- Composite
- Role
- Visitor
Module 5: Creating Objects on Demand
- Limitations of Constructors
- Simple Factory
- Prototype Factory
- Inversion of Control
- Builder
- Abstract Factory
Module 6: Improving Code Structure
- API Design
- Façade
- Adapter
- Proxy
- Decorator
- Observer
- Chain of Responsibility
- Mediator
Module 7: Optimization Patterns
- Measuring Performance
- Java Optimizations
Module 8: Java 8 Best Practices
- Lambda Expressions
- Functional Interfaces
- Optional Variables
- Streams