Difference between revisions of "Template:Design Patterns patterns"
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= [[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]] | ||
| − | |||
| − | | | + | | group4= [[Functional programming|Functional]] |
| − | | | + | | 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]] | ||
| − | | | + | | group6=[[Architectural pattern|Architectural]] |
| − | | | + | | 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| | + | * [[Model–view–presenter|MVP]] |
| − | * [[ | + | * [[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]] | ||
| − | * [[ | + | * [[Presentation–abstraction–control|PAC]] |
| + | * [[Representational state transfer|REST]] | ||
| + | * [[Service-oriented architecture|SOA]] | ||
* [[Service locator pattern|Service locator]] | * [[Service locator pattern|Service locator]] | ||
| − | * [[ | + | * [[Specification pattern|Specification]] |
| − | * [[Identity | + | |
| − | * [[ | + | | group7=[[Cloud computing|Cloud]]<br />[[Distributed computing|Distributed]] |
| − | * [[ | + | | list7= |
| − | * [[ | + | * [[Ambassador pattern|Ambassador]] |
| − | * [[ | + | * [[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]] | ||
| − | | | + | | group8=Other |
| − | | | + | | list8= |
| − | |||
* [[Business delegate pattern|Business delegate]] | * [[Business delegate pattern|Business delegate]] | ||
* [[Composite entity pattern|Composite entity]] | * [[Composite entity pattern|Composite entity]] | ||
| − | |||
* [[Intercepting filter pattern|Intercepting filter]] | * [[Intercepting filter pattern|Intercepting filter]] | ||
* [[Lazy loading]] | * [[Lazy loading]] | ||
| + | * [[Mangler pattern|Mangler]] | ||
* [[Mock object]] | * [[Mock object]] | ||
| − | |||
| − | |||
| − | |||
| − | |||
* [[Type Tunnel pattern|Type tunnel]] | * [[Type Tunnel pattern|Type tunnel]] | ||
| + | * [[Method chaining]] | ||
| − | | | + | |
| − | | | + | | group9= Books |
| + | | list9= | ||
* ''[[Design Patterns]]'' | * ''[[Design Patterns]]'' | ||
* ''[[Enterprise Integration Patterns]]'' | * ''[[Enterprise Integration Patterns]]'' | ||
| + | * ''[[Code Complete]]'' | ||
| + | * ''[[Pattern-Oriented Software Architecture|POSA]]'' | ||
| − | | | + | | group10= People |
| − | | | + | | 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 | + | * [[Robert C. Martin|Robert Martin]] |
* [[Jim Coplien]] | * [[Jim Coplien]] | ||
* [[Douglas C. Schmidt|Douglas Schmidt]] | * [[Douglas C. Schmidt|Douglas Schmidt]] | ||
* [[Linda Rising]] | * [[Linda Rising]] | ||
| − | | | + | | group11= Communities |
| − | | | + | | 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]] | ||
| − | + | ||
| − | </noinclude | + | </noinclude> |
Latest revision as of 04:38, 26 June 2020