Architectural Patterns
— inspiration for your application
Github
Classes / Interfaces
Patterns for classes and interfaces
Entity
Show
Value Object
Show
Object Aggregate
Show
Data Transfer Object
Show
Query Object
Show
Principles
Principles for classes and interfaces
Single Responsibility Principle
Show
Open-Closed Principle
Show
Liskov Substitution Principle
Show
Interface Segregation Principle
Show
Dependency Inversion Principle
Show
Home
Code purpose
Data
Event Sourcing
Snapshot Sequence
CQRS
Index
Cache
Transaction
Undo
ETL
Entity-Component-System
Data Synchronization
Data storage
Repository
Data Warehouse
Data Cube
Data interaction
ORM
Data formats
UNICODE
Standardized Date Format
Coordinated Universal Time
Locking
Optimistic Locking
Pessimistic Locking
Cross-cutting concerns
Logging
Error Handling
Data Validation
Internationalization
Coding Conventions
Ubiquitous Language
Control flow
Pipe and Filter
Parallel Programming
Finite State Machine
Interpreter
Publish-Subscribe
Message Queue
Game Loop
Lifecycle Hooks
Problem solving
Algorithm
Heuristic
Search
Inference Engine
Planning
Neural Network
Generative AI
Agent
Multi-Agent System
Blackboard
Process Control
Explainability
Probabilistic / Statistical Reasoning
Bayesian Inference
Markov Chain
Hidden Markov Model
Markov Decision Process
Monte Carlo Method
Markov Chain Monte Carlo
Gaussian Process
Kalman Filter
Maximum Likelihood Estimation
Regression Analysis
Search & Optimization
Minimax
Monte Carlo Tree Search
Gradient Descent
Simulated Annealing
A* Search Algorithm
Hill Climbing
Tabu Search
Dynamic Programming
Linear Programming
Evolutionary & Nature-Inspired Computation
Genetic Algorithm
Genetic Programming
Particle Swarm Optimization
Ant Colony Optimization
Evolution Strategy
Supervised Learning
Artificial Neural Network
Decision Tree Learning
Random Forest
Gradient Boosting
Support Vector Machine
k-Nearest Neighbors
Naive Bayes Classifier
Linear Discriminant Analysis
Deep Learning Architectures
Convolutional Neural Network
Recurrent Neural Network
Long Short-Term Memory
Transformer
Generative Adversarial Network
Diffusion Model
Autoencoder
Unsupervised Learning
k-Means Clustering
Hierarchical Clustering
DBSCAN
Principal Component Analysis
t-SNE
Self-Organizing Map
Association Rule Learning
Reinforcement Learning
Q-Learning
Temporal Difference Learning
Policy Gradient Method
Multi-Armed Bandit
Symbolic / Logic-Based Reasoning
Expert System
Constraint Satisfaction Problem
Fuzzy Logic
Automated Theorem Proving
Case-Based Reasoning
Semantic Network
Graphical / Structured Probabilistic Models
Bayesian Network
Markov Random Field
Conditional Random Field
Graph Neural Network
Presentation
Navigation Graph
Menu Navigation
Template Engine
Kinds of interfaces
Command Line Interface
Graphical User Interface
Conversational Interface
Tangible user interface
Spatial Computing Interface
Brain-computer interface
Ambient Intelligence
User Interface
Color
Typeface
Icon Set
Page layout
Accessibility
User Experience
Clarity
User control
Animation
Graphics Pipeline
Double Buffering
Access control
Authentication
Login
Single Sign-on
Federated Identity
Authorization
Access Control List
Role-based Access Control
Change
Version Control
Software Versioning
Distributed computing
Monolith
Client-Server
N-Tier
Broker
Repository
Master-Slave
Peer to Peer
Load Balancing
Serverless
Space-Based
Data Replication
App Environment
Containerization
Deployment
User Manual
Software license
Testing
Functional tests
Frontend tests
Security tests
Performance tests
Compatibility tests
Monitoring
Performance Monitoring
User-activity Monitoring
Code structure
Language Features
Type system features
Syntax features
Data & Memory features
Function features
Object Oriented Programming features
Functional programming features
Reactive programming features
Error handling features
Concurrency features
Miscellaneous features
Classes / Interfaces
Entity
Value Object
Object Aggregate
Data Transfer Object
Query Object
Principles
Single Responsibility Principle
Open-Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
Types of code
Business Logic
Application Logic
User Interface
Presentation Logic
Data Access Logic
Modules
Module
Component
Feature Flags
Plugin
Principles for modules
Reuse/Release Equivalence Principle
Common Closure Principle
Common Reuse Principle
Acyclic Dependencies Principle
Stable Dependencies Principle
Stable Abstractions Principle
Systems
Layers
Bounded Context
Application
Smart-UI
Document-View
Traditional Model-View-Controller
Model-View-Adapter
Model-View-Viewmodel
Hierarchical MVC
Microkernel
Software Framework
Entity-Control-Boundary
Hexagonal Architecture
Data-Context-Interaction
Overview
Alphabetical
Links
About