Skip to content
Category

Software design patterns

page 2
shard
horizontal partition of data in a database or search engine
reactor pattern
event handling pattern for handling service requests delivered concurrently to a service handler by one or more inputs; the service handler then demultiplexes the incoming requests and dispatches them synchronously to the associated request handlers
thread pool
a method for efficient parallel processing in computer programs (pre-creating threads and reusing them as tasks occur, reducing overhead of thread creation and destruction, improving system performance, and optimizing resource management)
fluent interface
software engineering object-oriented construct
thread-local storage
memory management method that uses static or global memory local to a thread
double-checked locking
design pattern only locking if the locking criterion check indicates that locking is required
substitution failure is not an error
C++ programming technique utilizing the fact that an invalid substitution of template parameters is not in itself an error
front controller
design pattern for web applications which handles all requests for a website and thereby provide flexibility and reuse without code redundancy
service locator
software pattern to dynamically control the loading of objects at run-time via a central registry object.
multiton pattern
design pattern, similar to the singleton, but allowing more than one instance of a class to be created
entity component system
software architectural pattern used in video game development, with entities composed from components of data, and with systems which operate on entities' components
Data mapper pattern
Architectural pattern in software engineering
curiously recurring template pattern
software design pattern
Model 2
design pattern for Java Web applications which separates the display of content from the logic used to obtain and manipulate the content, akin to the model–view–controller paradigm
Presentation–abstraction–control
400px|thumb|right|The structure of an application with PAC. Presentation–abstraction–control (PAC) is a software architectural pattern. It is an interaction-oriented software architecture, and is somewhat similar to model–view–controller (MVC) in that it separates an interactive system into three types of components responsible for specific aspects of the application's functionality. The abstraction component retrieves and processes the data, the presentation component formats the visual and audio presentation of data, and the control component handles things such as the flow of control and co
active object
design pattern for concurrency using asynchronous method invocation with a scheduler for handling requests
circuit breaker pattern
behavioral design pattern in software development
marker interface pattern
design pattern in computer science
delegation pattern
design pattern in object-oriented programming where an object, instead of performing one of its stated tasks, delegates that task to an associated helper object
Model 1
Java Web application design model
test double
computing object that substitutes for another object for use in testing
Micro frontend
architectural pattern, where a large front-end is developed in independent parts
double dispatch
Feature in programming languages
blackboard pattern
behavioral design pattern in software engineering
naked objects
user interface architectural pattern in which the UI is automatically derived from the definitions of the domain objects
specification pattern
design pattern where business rules can be recombined by chaining them together using boolean logic, often used in domain-driven design