Difference between revisions of "Template:Design Patterns patterns"

From blackwiki
Jump to navigation Jump to search
(Space-based architecture is not a software architecture pattern - Partially undid revision 876559128)
 
(43 intermediate revisions by 23 users not shown)
Line 4: Line 4:
 
| listclass = hlist
 
| listclass = hlist
  
| group1= [[Design Patterns|Gang of Four<br />patterns]]
 
| list1=
 
{{Navbox subgroup
 
 
| group1= [[Creational pattern|Creational]]
 
| group1= [[Creational pattern|Creational]]
 
| list1 =  
 
| list1 =  
 
* [[Abstract factory pattern|Abstract factory]]
 
* [[Abstract factory pattern|Abstract factory]]
 
* [[Builder pattern|Builder]]
 
* [[Builder pattern|Builder]]
 +
* [[Dependency injection]]
 
* [[Factory method pattern|Factory method]]
 
* [[Factory method pattern|Factory method]]
 +
* [[Lazy initialization]]
 +
* [[Multiton pattern|Multiton]]
 +
* [[Object pool pattern|Object pool]]
 
* [[Prototype pattern|Prototype]]
 
* [[Prototype pattern|Prototype]]
 +
* [[Resource acquisition is initialization|RAII]]
 
* [[Singleton pattern|Singleton]]
 
* [[Singleton pattern|Singleton]]
  
Line 21: Line 23:
 
* [[Composite pattern|Composite]]
 
* [[Composite pattern|Composite]]
 
* [[Decorator pattern|Decorator]]
 
* [[Decorator pattern|Decorator]]
 +
* [[Delegation pattern|Delegation]]
 
* [[Facade pattern|Facade]]
 
* [[Facade pattern|Facade]]
 
* [[Flyweight pattern|Flyweight]]
 
* [[Flyweight pattern|Flyweight]]
 +
* [[Front controller]]
 +
* [[Marker interface pattern|Marker interface]]
 +
* [[Module pattern|Module]]
 
* [[Proxy pattern|Proxy]]
 
* [[Proxy pattern|Proxy]]
 +
* [[Twin pattern|Twin]]
  
 
| group3= [[Behavioral pattern|Behavioral]]
 
| group3= [[Behavioral pattern|Behavioral]]
 
| list3 =  
 
| list3 =  
 +
* [[Blackboard (design pattern)|Blackboard]]
 
* [[Chain-of-responsibility pattern|Chain of responsibility]]
 
* [[Chain-of-responsibility pattern|Chain of responsibility]]
 
* [[Command pattern|Command]]
 
* [[Command pattern|Command]]
Line 33: Line 41:
 
* [[Mediator pattern|Mediator]]
 
* [[Mediator pattern|Mediator]]
 
* [[Memento pattern|Memento]]
 
* [[Memento pattern|Memento]]
 +
* [[Null object pattern|Null object]]
 
* [[Observer pattern|Observer]]
 
* [[Observer pattern|Observer]]
 +
* [[Servant (design pattern)|Servant]]
 +
* [[Specification pattern|Specification]]
 
* [[State pattern|State]]
 
* [[State pattern|State]]
 
* [[Strategy pattern|Strategy]]
 
* [[Strategy pattern|Strategy]]
 
* [[Template method pattern|Template method]]
 
* [[Template method pattern|Template method]]
 
* [[Visitor pattern|Visitor]]
 
* [[Visitor pattern|Visitor]]
}}
 
  
| group2= [[Concurrency pattern|Concurrency<br />patterns]]
+
| group4= [[Functional programming|Functional]]
| list2 =  
+
| list4 =
 +
* [[Monoid#Monoids in computer science|Monoid]]
 +
* [[Functor (functional programming)|Functor]]
 +
* [[Applicative functor|Applicative]]
 +
* [[Monad (functional programming)|Monad]]
 +
* [[Monad (functional programming)#Comonads|Comonad]]
 +
* [[Monad (functional programming)#Free_monads|Free monad]]
 +
* [[Higher-order function|HOF]]
 +
* [[Currying]]
 +
* [[Function composition (computer science)|Function composition]]
 +
* [[Closure (computer programming)|Closure]]
 +
* [[Generator (computer programming)|Generator]]
 +
 
 +
| group5= [[Concurrency pattern|Concurrency]]
 +
| list5 =  
 
* [[Active object]]
 
* [[Active object]]
 +
* [[Actor model|Actor]]
 
* [[Balking pattern|Balking]]
 
* [[Balking pattern|Balking]]
 +
* [[Barrier (computer science)|Barrier]]
 
* [[Binding properties pattern|Binding properties]]
 
* [[Binding properties pattern|Binding properties]]
 +
* [[Coroutine]]
 +
* [[Compute kernel]]
 
* [[Double-checked locking]]
 
* [[Double-checked locking]]
 
* [[Asynchronous method invocation|Event-based asynchronous]]
 
* [[Asynchronous method invocation|Event-based asynchronous]]
 +
* [[Fiber (computer science)|Fiber]]
 +
* [[Futex]]
 +
* [[Futures and promises]]
 
* [[Guarded suspension]]
 
* [[Guarded suspension]]
 +
* [[Immutable object]]
 
* [[Join-pattern|Join]]
 
* [[Join-pattern|Join]]
 
* [[Lock pattern|Lock]]
 
* [[Lock pattern|Lock]]
 +
* [[Messaging pattern|Messaging]]
 
* [[Monitor (synchronization)|Monitor]]
 
* [[Monitor (synchronization)|Monitor]]
 +
* [[Nuclear computation|Nuclear]]
 
* [[Proactor pattern|Proactor]]
 
* [[Proactor pattern|Proactor]]
 
* [[Reactor pattern|Reactor]]
 
* [[Reactor pattern|Reactor]]
 
* [[Readers–writer lock|Read write lock]]
 
* [[Readers–writer lock|Read write lock]]
 
* [[Scheduler pattern|Scheduler]]
 
* [[Scheduler pattern|Scheduler]]
 +
* [[Software transactional memory|STM]]
 
* [[Thread pool pattern|Thread pool]]
 
* [[Thread pool pattern|Thread pool]]
 
* [[Thread-local storage]]
 
* [[Thread-local storage]]
  
| group3=[[Architectural pattern|Architectural<br />patterns]]
+
| group6=[[Architectural pattern|Architectural]]
| list3=
+
| list6=
 +
* [[Action–domain–responder|ADR]]
 +
* [[Active record pattern|Active record]]
 +
* [[Broker pattern|Broker]]
 +
* [[Client–server model|Client–server]]
 +
* [[Component-based software engineering|CBD]]
 +
* [[Data access object|DAO]]
 +
* [[Data transfer object|DTO]]
 +
* [[Domain-driven design|DDD]]
 +
* [[Entity-control-boundary|ECB]]
 +
* [[Entity–component–system|ECS]]
 +
* [[Event-driven architecture|EDA]]
 
* [[Front controller]]
 
* [[Front controller]]
 +
* [[Identity map pattern|Identity map]]
 
* [[Interceptor pattern|Interceptor]]
 
* [[Interceptor pattern|Interceptor]]
 +
* [[Implicit invocation]]
 +
* [[Inversion of control]]
 +
* [[JSP model 2 architecture|Model 2]]
 +
* [[Message-oriented middleware|MOM]]
 +
* [[Microservices]]
 +
* [[Model–view–adapter|MVA]]
 
* [[Model–view–controller|MVC]]
 
* [[Model–view–controller|MVC]]
* [[Multitier architecture|''n''-tier]]
+
* [[Model–view–presenter|MVP]]
* [[Specification pattern|Specification]]
+
* [[Model–view–viewmodel|MVVM]]
 +
* [[Monolithic application|Monolithic]]
 +
* [[Multitier architecture|Multitier]]
 +
* [[Naked objects]]
 +
* [[Object request broker|ORB]]
 +
* [[Peer-to-peer|P2P]]
 
* [[Publish–subscribe pattern|Publish–subscribe]]
 
* [[Publish–subscribe pattern|Publish–subscribe]]
* [[Naked objects]]
+
* [[Presentation–abstraction–control|PAC]]
 +
* [[Representational state transfer|REST]]
 +
* [[Service-oriented architecture|SOA]]
 
* [[Service locator pattern|Service locator]]
 
* [[Service locator pattern|Service locator]]
* [[Active record pattern|Active record]]
+
* [[Specification pattern|Specification]]
* [[Identity map pattern|Identity map]]
+
 
* [[Data access object]]
+
| group7=[[Cloud computing|Cloud]]<br />[[Distributed computing|Distributed]]
* [[Data transfer object]]
+
| list7=
* [[Action–Domain–Responder|ADR]]
+
* [[Ambassador pattern|Ambassador]]
* [[Inversion of control]]
+
* [[Anti-Corruption Layer pattern|Anti-Corruption Layer]]
 +
* [[Bulkhead pattern|Bulkhead]]
 +
* [[Cache-Aside pattern|Cache-Aside]]
 +
* [[Circuit breaker design pattern|Circuit Breaker]]
 +
* [[Command–query separation|CQRS]]
 +
* [[Compensating transaction|Compensating Transaction]]
 +
* [[Competing Consumers pattern|Competing Consumers]]
 +
* [[Compute Resource Consolidation pattern|Compute Resource Consolidation]]
 +
* [[Event Sourcing pattern|Event Sourcing]]
 +
* [[External Configuration Store pattern|External Configuration Store]]
 +
* [[Federated Identity pattern|Federated Identity]]
 +
* [[Gatekeeper pattern|Gatekeeper]]
 +
* [[Database index|Index Table]]
 +
* [[Leader election|Leader Election]]
 +
* [[MapReduce]]
 +
* [[Materialized view|Materialized View]]
 +
* [[Pipeline (software)|Pipes]]
 +
* [[Filter (software)| Filters]]
 +
* [[Priority Queue pattern|Priority Queue]]
 +
* [[Publish–subscribe pattern|Publisher-Subscriber]]
 +
* [[Queue-Based Load Leveling pattern|Queue-Based Load Leveling]]
 +
* [[Retry pattern|Retry]]
 +
* [[Scheduler Agent Supervisor pattern|Scheduler Agent Supervisor]]
 +
* [[Shard (database architecture)|Sharding]]
 +
* [[Sidecar pattern|Sidecar]]
 +
* [[Strangler pattern|Strangler]]
 +
* [[Throttling process (computing)|Throttling]]
 +
* [[Valet Key pattern|Valet Key]]
  
| group4=Other<br />patterns
+
| group8=Other
| list4=
+
| list8=
* [[Blackboard design pattern|Blackboard]]
 
 
* [[Business delegate pattern|Business delegate]]
 
* [[Business delegate pattern|Business delegate]]
 
* [[Composite entity pattern|Composite entity]]
 
* [[Composite entity pattern|Composite entity]]
* [[Dependency injection]]
 
 
* [[Intercepting filter pattern|Intercepting filter]]
 
* [[Intercepting filter pattern|Intercepting filter]]
 
* [[Lazy loading]]
 
* [[Lazy loading]]
 +
* [[Mangler pattern|Mangler]]
 
* [[Mock object]]
 
* [[Mock object]]
* [[Null object pattern|Null object]]
 
* [[Object pool pattern|Object pool]]
 
* [[Servant (design pattern)|Servant]]
 
* [[Twin pattern|Twin]]
 
 
* [[Type Tunnel pattern|Type tunnel]]
 
* [[Type Tunnel pattern|Type tunnel]]
 +
* [[Method chaining]]
  
| group5= Books
+
 
| list5=
+
| group9= Books
 +
| list9=
 
* ''[[Design Patterns]]''
 
* ''[[Design Patterns]]''
 
* ''[[Enterprise Integration Patterns]]''
 
* ''[[Enterprise Integration Patterns]]''
 +
* ''[[Code Complete]]''
 +
* ''[[Pattern-Oriented Software Architecture|POSA]]''
  
| group6= People
+
| group10= People
| list6=
+
| list10=
 
* [[Christopher Alexander]]
 
* [[Christopher Alexander]]
 
* [[Erich Gamma]]
 
* [[Erich Gamma]]
Line 104: Line 190:
 
* [[Kent Beck]]
 
* [[Kent Beck]]
 
* [[Ward Cunningham]]
 
* [[Ward Cunningham]]
* [[Martin Fowler]]
+
* [[Martin Fowler (software engineer)|Martin Fowler]]
* [[Robert Cecil Martin|Robert Martin]]
+
* [[Robert C. Martin|Robert Martin]]
 
* [[Jim Coplien]]
 
* [[Jim Coplien]]
 
* [[Douglas C. Schmidt|Douglas Schmidt]]
 
* [[Douglas C. Schmidt|Douglas Schmidt]]
 
* [[Linda Rising]]
 
* [[Linda Rising]]
  
| group7= Communities
+
| group11= Communities
| list7=
+
| list11=
 
* [[The Hillside Group]]
 
* [[The Hillside Group]]
 
* [[Portland Pattern Repository|The Portland Pattern Repository]]
 
* [[Portland Pattern Repository|The Portland Pattern Repository]]
Line 117: Line 203:
 
}}<noinclude>
 
}}<noinclude>
 
[[Category:Software development templates]]
 
[[Category:Software development templates]]
[[Category:Templates that add a category]]
+
 
</noinclude><includeonly>{{main other|[[Category:{{{cat|Software design patterns}}}]]}}</includeonly>
+
</noinclude>

Latest revision as of 04:38, 26 June 2020