Preferred method of contact:

Java Best Practices and Design Patterns

COURSE TYPE

Intermediate

Course Number

516

Duration

4 Days

PDF Add to WishList

Solve real-world software development problems, and deliver responsive applications that are fast and reliable. In this training course, you learn how to leverage Java best practices, avoid pitfalls, perform industry-standard software development techniques, use design patterns to implement proven solutions to reoccurring problems, and apply idioms and patterns to improve your Java code.

You Will Learn How To

  • Employ best practices 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

Important 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

Course Outline

  • Effective Programming in Java
  • Clarifying the goals of best practices
  • Identifying the key characteristics of high-quality software
  • Organizing 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
  • Minimizing 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 behavior 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

  • Synchronizing 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 behavior with a proxy

Centralizing the creation of objects

  • Employing factories to achieve loose coupling
  • Implementing Inversion of Control (IoC)
Show complete outline
Show Less

Convenient Ways to Attend This Instructor-Led Course

Hassle-Free Enrolment: No advance payment required to reserve your seat.
Tuition due 30 days after you attend your course.

In the Classroom

Live, Online

Private Team Training

In the Classroom — OR — Live, Online

Tuition — Standard: $3285   Government: $2890

Apr 10 - 13 (4 Days)
9:00 AM - 4:30 PM EDT
Ottawa / Online (AnyWare) Ottawa / Online (AnyWare) Reserve Your Seat

Java Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

Apr 10 - 13 (4 Days) 9:00 AM - 4:30 PM EDT Ottawa / Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

May 15 - 18 (4 Days)
9:00 AM - 4:30 PM EDT
Online (AnyWare) Online (AnyWare) Reserve Your Seat

Java Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

May 15 - 18 (4 Days) 9:00 AM - 4:30 PM EDT Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

Jun 19 - 22 (4 Days)
9:00 AM - 4:30 PM EDT
Rockville, MD / Online (AnyWare) Rockville, MD / Online (AnyWare) Reserve Your Seat

Java Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

Jun 19 - 22 (4 Days) 9:00 AM - 4:30 PM EDT Rockville, MD / Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

Jul 31 - Aug 3 (4 Days)
9:00 AM - 4:30 PM EDT
New York / Online (AnyWare) New York / Online (AnyWare) Reserve Your Seat

Java Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

Jul 31 - Aug 3 (4 Days) 9:00 AM - 4:30 PM EDT New York / Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

Oct 2 - 5 (4 Days)
9:00 AM - 4:30 PM EDT
Ottawa / Online (AnyWare) Ottawa / Online (AnyWare) Reserve Your Seat

Java Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

Oct 2 - 5 (4 Days) 9:00 AM - 4:30 PM EDT Ottawa / Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

Nov 13 - 16 (4 Days)
9:00 AM - 4:30 PM EST
Online (AnyWare) Online (AnyWare) Reserve Your Seat

Java Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

Nov 13 - 16 (4 Days) 9:00 AM - 4:30 PM EST Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

Dec 18 - 21 (4 Days)
9:00 AM - 4:30 PM EST
Rockville, MD / Online (AnyWare) Rockville, MD / Online (AnyWare) Reserve Your Seat

Java Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

Dec 18 - 21 (4 Days) 9:00 AM - 4:30 PM EST Rockville, MD / Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

Jan 29 - Feb 1 (4 Days)
9:00 AM - 4:30 PM EST
New York / Online (AnyWare) New York / Online (AnyWare) Reserve Your Seat

Java Best Practices and Design Patterns

Thank you for your interest in this event, but there are no available seats at this time. Please select another date. You may also contact a customer service representative or training advisor about your training needs, from single courses to large enterprise solutions.

You have used Passport or Voucher Number for this event. Please contact our Customer Service Representative or Training Advisor and they will work with your payment options.

Jan 29 - Feb 1 (4 Days) 9:00 AM - 4:30 PM EST New York / Online (AnyWare)
Please select the quantity Please select the quantity
Optional Discounts
?
Have a Promo Code?

Enter a promo code for additional savings.

{{vm.lineItem.$DiscountValidationMessage}} Please enter a valid Promo Code
?
Don't know your Voucher or Passport Number?

Contact us via live chat or call us at 1-888-843-8733 and one of our representatives will assist you with your order.

{{vm.lineItem.$VoucherNumberValidationMessage}} Please enter a valid Voucher or Passport Number
Your Work Email is required Please enter a valid Email
?
BY CLICKING THE GOVERNMENT BOX, YOU AGREE TO THESE TERMS OF USE; IF YOU DO NOT AGREE, LEAVE THAT BOX BLANK TO RECEIVE COMMERCIAL PRICING.

By clicking the Government box – you certify that you/your firm is eligible to receive discounted price available only to Federal, Provincial and Municipal agencies. Colleges, universities and non-for profits are not eligible for the government discount.

Learning Tree reserves the right, at its sole discretion, to change, modify, add or remove portions of these Terms of Use, at any time. It is your responsibility to ensure that you qualify to receive a Government discounted rate. Please contact your Government Account Coordinator for any questions.

Not sure if you qualify? See the ? for details. Terms and Conditions
Price
Pay now -or- pay later
Pay by credit card at checkout
-or- pay later by invoice, as always.

Added to cart

Show all dates
Show fewer dates

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.

Private Team Training

Enroling at least 3 people in this course? Consider bringing this (or any course that can be custom designed) to your preferred location as a private team training.

For details, call 1-888-843-8733 or Click here »

Tuition

Standard

Government

In Classroom or
Online

Standard

$3285

Government

$2890

Private Team Training

Contact Us »

Course Tuition Includes:

After-Course Instructor Coaching
When you return to work, you are entitled to schedule a free coaching session with your instructor for help and guidance as you apply your new skills.

After-Course Computing Sandbox
You'll be given remote access to a preconfigured virtual machine for you to redo your hands-on exercises, develop/test new code, and experiment with the same software used in your course.

Free Course Exam
You can take your Learning Tree course exam on the last day of your course or online any time after class.

Prev
Next

Training Hours

Standard Course Hours: 9:00 am – 4:30 pm
*Informal discussion with instructor about your projects or areas of special interest: 4:30 pm – 5:30 pm

“Our Java programming instructor was highly qualified...his presentation was informative and precise. He even took the time to answer the questions of individual students. Great Job!”

- R. Storey, Software Engineer II
GTECH Corp

Prev
Next
Chat Now

Please Choose a Language

Canada - English

Canada - Français