Java Best Practises and Design Patterns Training

Level: Intermediate
Rating: 4.7/5 4.66/5 Based on 216 Reviews

Attend this Java Best Practises and Design Patterns training course and learn to solve real-world software development problems, and deliver responsive applications that are fast and reliable. Learn how to leverage Java best practises, avoid pitfalls and perform industry-standard software development techniques. Learn design patterns in Java to implement proven solutions to reoccurring problems, and apply idioms and patterns to improve your Java code.

Key Features of this Java Design Patterns Training

  • After-course instructor coaching benefit
  • Learning Tree end-of-course exam included
  • After-course computing sandbox included

You Will Learn How To

  • Employ best practises to build reliable and scalable Java applications
  • Effectively apply test-driven development to enhance program maintainability
  • Solve architectural problems with proven design patterns
  • Employ advanced Java APIs for multi-threaded programming

Choose the Training Solution That Best Fits Your Individual Needs or Organisational Goals

LIVE, INSTRUCTOR-LED

In Class & Live, Online Training

  • 4-day instructor-led training course
  • After-course instructor coaching benefit
  • Learning Tree end-of-course exam included
View Course Details & Schedule

Standard £1695

RESERVE SEAT

PRODUCT #516

TRAINING AT YOUR SITE

Team Training

  • Bring this or any training to your organisation
  • Full - scale program development
  • Delivered when, where, and how you want it
  • Blended learning models
  • Tailored content
  • Expert team coaching

Customize Your Team Training Experience

CONTACT US

Save More on Training with Learning Tree Training Vouchers!

Our flexible, easy-to-redeem training vouchers are available to any employee within your organisation. For details, please call 0800 282 353 or chat live.

In Class & Live, Online Training

Note: This course runs for 4 Days

  • 29 Oct - 1 Nov 9:00 AM - 4:30 PM GMT London / Online (AnyWare) London / Online (AnyWare) Reserve Your Seat

  • 18 - 21 Feb 9:00 AM - 4:30 PM GMT London / Online (AnyWare) London / Online (AnyWare) Reserve Your Seat

  • 19 - 22 May 9:00 AM - 4:30 PM BST London / Online (AnyWare) London / Online (AnyWare) Reserve Your Seat

  • 21 - 24 Jan 2:00 PM - 9:30 PM GMT New York / Online (AnyWare) New York / Online (AnyWare) Reserve Your Seat

  • 7 - 10 Apr 2:00 PM - 9:30 PM BST Alexandria, VA / Online (AnyWare) Alexandria, VA / Online (AnyWare) Reserve Your Seat

Guaranteed to Run

When you see the "Guaranteed to Run" icon next to a course event, you can rest assured that your course event — date, time, location — will run. Guaranteed.

Java Design Patterns Course Information

  • Requirements

    • Knowledge at the level of:
    • Three to six months of Java programming experience
    • You should be able to:
      • Understand Java classes, the inheritance model, polymorphism, and encapsulation
      • Use fundamental standard edition Java APIs
      • Apply object-oriented analysis and design, including defining classes and creating objects

Java Design Patterns Course Outline

  • Effective Programming in Java

    • Clarifying the goals of best practises
    • Identifying the key characteristics of high-quality software
    • Organising classes, packages and subsystems into layers
    • Designing to the principles of SOLID
  • Applying Test-Driven Development

    Exploiting a testing framework

    • Composing and maintaining JUnit tests
    • Taking advantage of advanced JUnit features
    • Testing in the presence of exceptions

    Monitoring software health using logging libraries

    • Configuring logging with log4j and SLF4J
    • Minimising the impact of logging on performance

    Creating matchers and mock objects

    • Writing custom Hamcrest matchers
    • Testing with fake objects and mocks
  • Leveraging Design Patterns

    Employing common design patterns

    • Observer
    • Iterator
    • Template method
    • Strategy
    • State
    • Singleton
    • Data Accessor Object
    • Data Transfer Object
    • Composite
    • ServiceLocator
    • Proxy
    • Factory

    Refactoring legacy code

    • Identifying reasons to change software
    • Clarifying the mechanics of change
    • Writing tests for legacy classes and methods
  • Extending Applications with Java Meta Programming

    Improving type safety with generics and enum types

    • Creating generic classes and methods
    • Navigating generic class hierarchies
    • Implementing enum types for fixed sets of constants

    Adding metadata by writing annotations

    • Leveraging the built-in and custom annotations
    • Annotating with meta-annotations

    Modifying runtime behaviour with reflection

    • Retrieving class and method data dynamically
    • Flagging methods with naming conventions
    • Adding information to code with annotations
    • Assessing disadvantages of reflection
  • Tuning for Maximum Performance

    Measuring and improving performance

    • Assessing response time
    • Conducting load and stress tests
    • Specifying strategies for improving performance

    Exploiting garbage collectors

    • Exploring garbage collection metrics
    • Choosing appropriate algorithms for garbage collection
    • Avoiding the hazards of finalizers
    • Preventing memory leaks with reference types

    Taking full advantage of threads

    • Writing reliable thread-safe code
    • Avoiding race hazards and deadlocks
    • Employing the Executors framework

    Bulletproofing a threaded application

    • Synchronising and sharing data between threads
    • Managing the performance implications of synchronization

    Exploring alternatives to synchronization

    • Taking advantage of the volatile modifier
    • Eliminating data sharing with ThreadLocal variables
  • Architecting for Separation of Concerns

    Allocating responsibilities to components

    • Translating method calls with the adaptor pattern
    • Adding behaviour with a proxy

    Centralising the creation of objects

    • Employing factories to achieve loose coupling
    • Implementing Inversion of Control (IoC)

Team Training

Java Design Patterns Training FAQs

  • Can I learn Java Best Practises and Design Patterns online?

    Yes! We know your busy work schedule may prevent you from getting to one of our classrooms which is why we offer convenient online training to meet your needs wherever you want, including online training.

Questions about which training is right for you?

call 0800 282 353
chat Live Chat




100% Satisfaction Guaranteed

Your Training Comes with a 100% Satisfaction Guarantee!*

  • If you are not 100 % satisfied, you pay no tuition fee!
  • No advance payment required for most products.
  • Tuition fee can be paid later by invoice - OR - at the time of checkout by credit card.

*Partner-delivered courses may have different terms that apply. Ask for details.

London / Online (AnyWare)
London / Online (AnyWare)
London / Online (AnyWare)
New York / Online (AnyWare)
Alexandria, VA / Online (AnyWare)
Preferred method of contact:
Chat Now

Please Choose a Language

Canada - English

Canada - Français