Object-Oriented Design Patterns in Java Training Course by nyut545e2



Object-Oriented Design Patterns in Java Training

This 3-day expert training course enables Java developers to learn how to apply the design
patterns used in advanced object-oriented practice to write loosely-coupled and highly
maintainable Java code.
Design Patterns have been conceived from many years of experience in the Object-Oriented
community and some patterns were popularised in the 1995 book of that name by the authors now
known as the “Gang of Four”.
Poorly maintained applications lead to problems such as code duplication and code which
developers are afraid to change for fear of causing errors. By promoting Design Patterns and best
practice, we can significantly reduce the number and the cost of bugs that appear in an application.
In this course, delegates will learn how to spot the “bad smells” in code which can cause
maintenance issues in the future and rectify them with the use of expert patterns.
We present a series of architectural approaches that can lead to higher quality development, such
as the use of interfaces rather than implementation and how to achieve better encapsulation and
loose coupling through refactoring of code.
Then, for each design pattern, we demonstrate how to refactor a poorly written code example
using principles of good Object-Oriented design, namely: good encapsulation, loose coupling, code
reuse and the open-closed principle, which states that classes should be made open for extension
and closed for modification. We thus present how to turn fragile code that causes maintenance
issues into robust, highly-maintainable code. Delegates are then asked to repeat the exercise with
a related problem.
We also discuss the importance of good Java package design, to avoid cyclic dependencies and to
enforce a good layered architecture, and how good testing practices can assist with refactoring.

This course will enable delegates with Java experience to understand and apply design patterns in
order to write code that is more testable, more reusable and more maintainable.
Delegates will understand the following patterns in detail: Singleton, Static Factory, Builder,
Command, Observer, Strategy, Adapter, Composite, State, Decorator, Iterator and Proxy and
Dependency Injection.

Topics Covered in Depth Include:
   ●   Principles of the Object-Oriented Approach         ● Loose Coupling
        ● Encapsulation                              ●   Package Dependencies
        ● final classes and methods                       ● Minimise Dependencies between
        ● Private Constructors                               Packages
        ● Use of Accessors                                ● Avoid Cyclic Dependencies
        ● A Class should have a Single                    ● Layering your Architecture
            Responsibility                                ● Tools to Promote and Enforce Proper
        ● Bind to Interfaces rather than                     Package Architecture
            Implementation                                ● The Principles behind OSGi
        ● Composition rather than Inheritance             ● Typical Architectures in Enterprise

           Applications                             ● Behavioural Patterns
   ●  Refactoring to Patterns                            ● Command
       ● The Importance of good Unit Testing             ● Iterator
       ● How to Unit Test Code                           ● Observer
       ● Code Coverage                                   ● State
       ● Refactoring Tools                               ● Strategy
   ● Introduction to Patterns                       ● Structural Patterns
       ● The “Gang of Four”                              ● Adapter
       ● Why do we need Patterns?                        ● Decorator
       ● Avoid Pattern Overuse                           ● Composite
       ● Anti-Patterns                                   ● Proxy
   ● Creational Patterns                            ● Architectural Patterns
       ● Static Factory                                  ● Dependency Injection
       ● Builder                                         ● Model-View-Controller
       ● Singleton
This course is aimed at developers and architects with at least twelve months of working with Java.
Also managers, analysts and developers of other strongly-typed object-oriented languages such as
C++ may benefit.
Please contact us at training@codeclass.co.uk or phone us on 0121 314 4347 if you are
interested in delivery of this course on your site and to discuss our extremely competitive rates.

To top