Design Pattern

Description

Mind Map on Design Pattern, created by Lee Long on 07/06/2014.
Lee Long
Mind Map by Lee Long, updated more than 1 year ago
Lee Long
Created by Lee Long over 11 years ago
42
0

Resource summary

Design Pattern

Annotations:

  • http://www.journaldev.com/1827/java-design-patterns-example-tutorial#facade-pattern
  1. Creational Pattern
    1. Factory
      1. Factory design pattern is used when we have a super class with multiple sub-classes and based on input, we need to return one of the sub-class. This pattern take out the responsibility of instantiation of a class from client program to the factory class
        1. NumberFormat.getInstance()
      2. Abstract Factory
        1. get rid of if-else block and have a factory class for each sub-class and then an Abstract Factory class that will return the sub-class based on the input factory class
        2. Singleton
          1. Singleton pattern restricts the instantiation of a class and ensures that only one instance of the class exists in the java virtual machine. The singleton class must provide a global access point to get the instance of the class.
            1. Java Synchronization

              Annotations:

              • http://www.journaldev.com/1061/java-synchronization-and-thread-safety-tutorial-with-examples
              1. Volatile keyword
                1. Synchronize keyword
                  1. Atomic Wrapper class
                    1. Locks
                      1. safe collection classes
                  2. Builder
                    1. build the object step-by-step and provide a method that will actually return the final Object.
                      1. StringBuilder.append()
                    2. Prototype
                      1. Prototype pattern is used when the Object creation is a costly affair and requires a lot of time and resources and you have a similar object already existing. So this pattern provides a mechanism to copy the original object to a new object and then modify it according to our needs
                    3. Structural Pattern
                      1. Adapter
                        1. its used so that two unrelated interfaces can work together
                        2. Composite
                          1. When we need to create a structure in a way that the objects in the structure has to be treated the same way, we can apply composite design pattern.
                          2. Facade
                            1. Provide a unified interface to a set of interfaces in a subsystem. Facade Pattern defines a higher-level interface that makes the subsystem easier to use.
                            2. Decorator
                              1. used to modify the functionality of an object at runtime
                            3. Behavior Pattern
                              1. Observer
                                1. Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically
                              Show full summary Hide full summary

                              Similar

                              Game Architecture
                              Tanay Karnik