Close
Contact Us info@learnquest.com

??WelcomeName??
??WelcomeName??
« Important Announcement » Contact Us 877-206-0106 | USA Flag
Close
Close
Close
photo

Thank you for your interest in LearnQuest.

Your request is being processed and LearnQuest or a LearnQuest-Authorized Training Provider will be in touch with you shortly.

photo

Thank you for your interest in Private Training.

We look forward to helping you develop the perfect training solution to help you meet your company's goals.

For immediate assistance, speak with one of our representatives using the chat module below. Otherwise, LearnQuest or a LearnQuest-Authorized Training Provider will be in touch with you shortly.

Close
photo

Thank you for your interest in LearnQuest!

Now, you will be able to stay up-to-date on our latest course offerings, promotions, and training discounts. Watch your inbox for upcoming special offers.

title

Date: xxx

Location: xxx

Time: xxx

Price: xxx

Please take a moment to fill out this form. We will get back to you as soon as possible.

All fields marked with an asterisk (*) are mandatory.

Design Patterns in Java Software

Price
1,755 USD
3 Days
EJJT-315
Classroom Training, Online Training
Oracle

AWS Training Pass

Take advantage of flexible training options with the AWS Training Pass and get Authorized AWS Training for a full year.

Learn More

Prices reflect a 22.5% discount for IBM employees.
Prices reflect a 24% discount for Kyndryl employees.
Prices reflect the Accenture employee discount.
Prices shown are the special AWS Partner Prices.
Prices reflect the Capgemini employee discount.
Prices reflect the UPS employee discount.
Prices reflect the ??democompanyname?? employee discount.
GSA Private/Onsite Price: ??gsa-private-price??
For GSA pricing, please go to GSA Advantage.

Class Schedule

Delivery Formats

Sort results

Filter Classes

Guaranteed to Run

Modality

Location

Language

Date

    Sorry, there are no public classes currently scheduled in your country.

    Please complete this form, and a Training Advisor will be in touch with you shortly to address your training needs.

View Global Schedule

Course Description

Overview

This Design Patterns in Java Software course is designed to provide students with 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.
 

Objectives

Upon completion of the Design Patterns in Java Software course, students will be able to:
  • 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

Audience

  • The experienced Java programmer

Prerequisites

    • Solid Java programming experience - especially object-oriented use of language.
    • Previous experience with UML (Unified Modeling Language) (recommended)

Topics

  • 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
  • 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
  • Creation Patterns
    • Factory Patterns
    • The Singleton Pattern
    • Singleton vs. Class Utility
    • APIs and Providers
    • Cascading Factories
    • Factories vs. Dependency Injection
  • 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
  • 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
     
  • 2021 Top 20 Training Industry Company - IT Training

    Need Help?

    Call us toll free at 877-206-0106 or e-mail us at info@learnquest.com

    Personalized Solutions

    Need a personalized solution for your Training? Contact us, and one of our training advisors will help you find the best solution.

    Contact Us

    Need Help?

    Do you have a question about the courses, instruction, or materials covered? Do you need help finding which course is best for you? We are here to help!

    Talk to us

    20% Off All Cybersecurity Training Courses

    Arm yourself with the skills to safeguard against cyber threats.

    PROMO CODE: SECURITY20
    VALID THROUGH OCTOBER 31, 2023

    20% Off All Cybersecurity Training Courses

    Self-Paced Training Info

    Learn at your own pace with anytime, anywhere training

    • Same in-demand topics as instructor-led public and private classes.
    • Standalone learning or supplemental reinforcement.
    • e-Learning content varies by course and technology.
    • View the Self-Paced version of this outline and what is included in the SPVC course.
    • Learn more about e-Learning

    Course Added To Shopping Cart

    bla

    bla

    bla

    bla

    bla

    bla

    Self-Paced Training Terms & Conditions

    ??spvc-wbt-warning??
    ??group-training-form-area??
    ??how-can-we-help-you-area??
    ??personalized-form-area??
    ??request-quote-area??

    Sorry, there are no classes that meet your criteria.

    Please contact us to schedule a class.
    Close


    STOP! Before You Leave

    Save 0% on this course!

    Take advantage of our online-only offer & save 0% on any course !

    Promo Code skip0 will be applied to your registration

    Close
    Nothing yet
    here's the message from the cart

    To view the cart, you can click "View Cart" on the right side of the heading on each page
    Add to cart clicker.

    Purchase Information

    ??elearning-coursenumber?? ??coursename??
    View Cart

    Need more Information?

    Speak with our training specialists to continue your learning journey.

     

    Delivery Formats

    Close

    By submitting this form, I agree to LearnQuest's Terms and Conditions

    heres the new schedule
    This website uses third-party profiling cookies to provide services in line with the preferences you reveal while browsing the Website. By continuing to browse this Website, you consent to the use of these cookies. If you wish to object such processing, please read the instructions described in our Privacy Policy.
    Your use of this LearnQuest site affirms your consent to our use of session and persistent cookies to track how you use our website.