DataHub v1 is the original DataHub catalog of 11,000+ open datasets, now migrated to PortalJS Arc.
Dataset

Design Pattern Used for Software Development

There are three types of design pattern broadly categorized into.

About

There are three types of design pattern broadly categorized into.

software 2012 Creational Design Pattern: Pattern used to create objects

Singleton: Ensure that only one instance of a class is created
Factory(Simplified version of Factory Method)
Factory Method:
Abstract Factory:
Builder: Defines an instance for creation but letting subclasses decide which class to instantiate and Allows a finer control over the construction process.
Prototype: Specify to create using a prototypical instance, and create by copying this prototype.
Object Pool: Re-uses and shares that are expensive to create

Behavioral Design Patterns:

Chain of Responsibiliy: It avoids attaching the sender of a request to its receiver, giving this way others the possibility of handling the request too.
Command: Encapsulate a request, Allows the parameterization of clients with different requests and Allows saving the requests in a queue.
Interpreter: Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language. Map a domain to a language, the language to a grammar, and the grammar to a hierarchical design
Iterator: Provide a way to access the elements of an aggregate sequentially without exposing its underlying representation.
Mediator: Mediator promotes loose coupling from referring to each other explicitly, and it lets you vary their interaction independently.
Observer: Define a one-to-many dependency so that when one changes state, all its dependents are notified and updated automatically.
Strategy: Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.
Template Method: Define the skeleton of an algorithm in an operation, deferring some steps to subclasses / Template Method lets subclasses redefine certain steps of an algorithm without letting them to change the algorithm's structure.
Visitor: Represents an operation to be performed on the elements, Visitor lets you define a new operation without changing the classes of the elements on which it operates.
Null Object: It hides the detail from its collaborators.

Structural Design Patterns:

Adapter: Adapter lets classes work together, that could not otherwise because of incompatible interfaces.
Bridge:
Composite: Compose into tree structures to represent part-whole hierarchies. / Composite lets clients treat individual items and compositions uniformly.
Decorator: Add additional responsibilities dynamically.
Flyweight: Use sharing to support a large numbers that have part of their internal state in common where the other part of state can vary.
Memento: Capture the internal state without violating encapsulation and thus providing a mean for restoring the initial state when needed.
Proxy: Provide a Placeholder to control references to it.