From 77e6b7818c5af92f45d8f4aab4e491fdbeab896a Mon Sep 17 00:00:00 2001 From: EncoredTech Date: Thu, 14 May 2015 15:46:00 +0900 Subject: [PATCH] Add: Design Patten List --- design_pattern.txt | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 design_pattern.txt diff --git a/design_pattern.txt b/design_pattern.txt new file mode 100644 index 000000000..1d846be15 --- /dev/null +++ b/design_pattern.txt @@ -0,0 +1,31 @@ +Pattern Description +-------------------------------------------------------------------------------------------------------------------- +3-tier data<->business logic<->presentation separation (strict relationships) +abstract_factory use a generic function with specific factories +adapter adapt one interface to another using a whitelist +borg a singleton with shared-state among instances +bridge a client-provider middleman to soften interface changes +builder call many little discrete methods rather than having a huge number of constructor parameters +catalog general methods will call different specialized methods based on construction parameter +chain apply a chain of successive handlers to try and process the data +chaining_method continue callback next object method +command bundle a command and arguments to call later +composite encapsulate and provide access to a number of different objects +decorator wrap functionality with other functionality in order to affect outputs +facade use one class as an API to a number of others +factory_method delegate a specialized function/method to create instances +flyweight transparently reuse existing instances of objects with similar/identical state +graph_search (graphing algorithms, not design patterns) +lazy_evaluation lazily-evaluated property pattern in Python +mediator an object that knows how to connect other objects and act as a proxy +memento generate an opaque token that can be used to go back to a previous state +mvc model<->view<->controller (non-strict relationships) +observer provide a callback for notification of events/changes to data +pool preinstantiate and maintain a group of instances of the same type +prototype use a factory and clones of a prototype for new instances (if instantiation is expensive) +proxy an object funnels operations to something else +publish_subscribe a source syndicates events/data to 0+ registered listeners +state logic is org'd into a discrete number of potential states and the next state that can be transitioned to +strategy selectable operations over the same data +template an object imposes a structure but takes pluggable components +visitor invoke a callback for all items of a collection