Java Certified Foundations Associate: Design Patterns

Java    |    Intermediate
  • 14 videos | 1h 40m 29s
  • Includes Assessment
  • Earns a Badge
While developing software, being able to use repeatable solutions to commonly occurring problems greatly reduces development time. In this course, you will learn how design patterns can be used to provide repeatable solutions to the common design problems. First, you will learn the importance of design patterns and discuss the types of design patterns such as Behavioral, Creational and Structural. Next, you will write code to demonstrate how to implement the Iterator, Singleton and Adapter design patterns. Finally, you will learn some advanced features of software development, including design anti-patterns, software refactoring techniques, API pattern principles, and API patterns. This course is one of a collection of courses that prepares learners for Oracle's 1Z0-811: Java Certified Foundations Associate certification.


  • Discover the key concepts covered in this course
    Describe the importance of design patterns
    Describe what are behavioral design patterns and discuss implementations of these design patterns
    Create the iterator design pattern
    Describe what are creational design patterns and discuss implementations of these design patterns
    Create the singleton design pattern
    Describe what are structural design patterns and discuss implementations of these design patterns
  • Create the adapter design pattern
    Describe and review different types of design anti-patterns
    Describe how to use code refactoring to implement efficient programming solutions
    Describe how to use software refactoring techniques to solve architectural coding problems
    Recall the guiding principles that underpin most api patterns
    Describe fundamental design patterns for implementing api resource layout and naming
    Summarize the key concepts covered in this course


  • 1m 44s
    In this video, you’ll learn more about the course and the instructor. In this course, you’ll learn the importance of design patterns, including Behavioral, Creational, and Structural design patterns. Demonstrations will be performed for the Iterator, Singleton, and Adapter design patterns. You’ll also learn about design anti-patterns, as well as software refactoring techniques. Finally, you’ll learn API patterns and API resource layout. FREE ACCESS
  • 8m 29s
    In this video, you’ll learn more about the importance of design patterns. You’ll learn design patterns are essentially typical software solutions that would normally apply to common problems related to object-oriented software design. Design patterns point to higher-level descriptions of solutions. FREE ACCESS
  • Locked
    3.  Behavioral Design Patterns
    5m 36s
    In this video, you’ll learn more about Behavioral Design Patterns. You’ll learn that Behavioral Design Patterns are concerned with the interactions between objects. Behavioral patterns promote effective communication and assignment of responsibilities amongst objects. With Behavioral Design Patterns, the interaction between objects is designed so that objects can easily talk to each other and still remain loosely coupled, which means the implementation and the client are loosely coupled. FREE ACCESS
  • Locked
    4.  Programming Iterator Design Patterns
    9m 3s
    In this video, you’ll watch a demo. In this demo, we'll implement an Iterator design pattern. First, you’ll open IntelliJ and find the project named BehavioralPatterns. You’ll see the base package is com.local.iterator. You’ll find IteratorDemo and import Iterator from java.util. You’ll find an instance of a class called CourseRepository. That instance is called repository. Next, you’ll add courses. FREE ACCESS
  • Locked
    5.  Creational Design Patterns
    7m 39s
    In this video, you’ll learn about Creational Design Patterns. You’ll learn Creational patterns provide various mechanisms concerning the creation of objects. One benefit is increased flexibility as well as code reuse. You’ll discover these patterns are focused on how objects are created. Creational patterns are used when a decision must be made during the process of instantiating a class or during the creation of an object of a specific class. FREE ACCESS
  • Locked
    6.  Programming Singleton Design Pattern
    6m 50s
    In this video, you’ll watch a demo. You’ll learn to implement the Singleton design pattern. To get started, you’ll open IntelliJ. On the Welcome to IntelliJ screen, select "New Project", and then select "Next". Then, check the Create project from the template checkbox, and select "Next". You’ll specify the Project name, and name the project CreationalPatterns. You’ll then select "Finish". Now, IntelliJ will prepare your workspace and load the project. FREE ACCESS
  • Locked
    7.  Structural Design Patterns
    8m 1s
    In this video, you’ll learn about Structural Design Patterns. You’ll learn that Structural Design Patterns describe how to assemble objects and classes into larger structures, while at the same time managing to keep these structures flexible and efficient. In other words, Structural Design Patterns are focused on how classes and objects can be composed to form larger structures. You’ll learn Structural Design Patterns can simplify structures by identifying relationships. FREE ACCESS
  • Locked
    8.  Programming Adapter Design Pattern
    4m 5s
    In this video, you’ll watch a demo. In this demo, you'll implement the Adapter design pattern. You’ll remember the Adapter pattern works as a bridge between two incompatible interfaces. You’ll open your project in IntelliJ. You’ll look at the file, Client class. This class will act as a Client to complete the demo. FREE ACCESS
  • Locked
    9.  Design Anti-patterns
    10m 33s
    In this video, you’ll learn about Design Anti-patterns. You’ll learn anti-patterns are similar to design patterns. An anti-pattern describes a common solution to a problem, but that solution generates negative consequences. Anti-patterns are sometimes the result of managers or developers not knowing any better, or they could result from developers lacking sufficient knowledge or experience to solve a specific type of problem. Anti-patterns can result from managers or developers applying an excellent design pattern incorrectly. FREE ACCESS
  • Locked
    10.  Software Refactoring for Efficient Programming
    10m 48s
    In this video, you’ll learn about the process of refactoring. First, you’ll learn that refactoring is a systematic process that involves improving code without creating new functionality. It can transform a veritable mess into clean code and simple design. You’ll discover refactoring improves the internal structure of source code while preserving its external behavior. FREE ACCESS
  • Locked
    11.  Software Refactoring Techniques
    6m 43s
    In this video, you’ll learn software refactoring techniques. You’ll learn that before you can effectively refactor your code, it's important to understand what the main culprits are, the typical problems, and how to locate them. This is where code smells make their presence known. Code smells are simply aspects of code that are typically indicative of problems. First, you’ll look at some typical refactoring targets. These include code bloaters and change blockers or change preventers. FREE ACCESS
  • Locked
    12.  API Pattern Principles
    13m 3s
    In this video, you’ll learn more about the guiding principles behind typical API patterns. You’ll learn most web applications expose APIs clients use to interact with the application. A well-designed API can support platform neutrality or platform independence. Any client should be able to call the API, regardless of how the API is implemented. This requires using standard protocols and a mechanism where the client and the service can agree on the data format.   FREE ACCESS
  • Locked
    13.  API Patterns
    6m 59s
    In this video, you’ll learn more about fundamental design patterns for implementing API resource layout and naming. You’ll learn that REST is an architectural design pattern, not a communication protocol. HTTP is considered a restful protocol, as it’s one implementation of the REST architecture. You’ll learn about the five constraints most experts agree must be present for an application to be considered RESTful. FREE ACCESS
  • Locked
    14.  Course Summary
    In this video, you’ll review what you’ve learned in this course. In this course, you learned the importance of design patterns as well as types of patterns. You learned about Behavioral, Structural, and Creational design patterns and their implementations. You also learned about the different types of design anti-patterns. You learned to use code refactoring techniques. And finally, you explored API pattern principles as well as API design patterns for resource layout and naming. FREE ACCESS


Skillsoft is providing you the opportunity to earn a digital badge upon successful completion on some of our courses, which can be shared on any social network or business platform.

Digital badges are yours to keep, forever.