Design Glossary

Browse 97 design terms defined in plain English, from the cultural dictionary of computing.

97 Design Terms

Abstract Class
Abstract Class is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture...
Abstract Factory Pattern
Abstract Factory Pattern is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application...
Abstraction
Abstraction is the practice of hiding complex implementation details behind a simpler interface, letting developers work with higher-level concepts without...
Abstract Method
Abstract Method is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application...
Accessible Design
Designing products, interfaces, and experiences so they are usable by people with a wide range of abilities, including those using assistive technologies. In...
Adapter
Adapter is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture and...
Adapter Pattern
A structural design pattern that makes incompatible interfaces work together by wrapping one interface in a class that implements the expected interface. Like...
Adapter Pattern Detail
Adapter Pattern Detail is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application...
Aggregate Root
Aggregate Root is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture...
AI Design
The design of user experiences, workflows, controls, and system behavior around AI capabilities. AI design considers how users understand uncertainty, review...
Anti-Pattern
A common but counterproductive solution pattern that tends to create more problems than it solves. In engineering culture, calling something an anti-pattern...
API Design
The process of defining how an API should be structured, named, versioned, and behave so it is consistent, usable, and maintainable. Good API design balances...
API Versioning
Strategies for evolving an API without breaking existing clients. Common approaches: URL path (/v1/users, /v2/users), query parameter (?version=2), custom...
Application Architecture
The high-level structure of an application, including its major components, data flow, responsibilities, deployment boundaries, and integration points....
Architecture
The high-level structural design of a software system — encompassing component decomposition, communication patterns, data flow, and deployment topology — that...
Architecture Decision
A deliberate technical choice about structure, technologies, boundaries, or tradeoffs that has lasting impact on a system's design and evolution. Architecture...
Architecture Document
A written description of a system's structure, goals, constraints, major components, and rationale for key design choices. Architecture documents provide...
Architecture Pattern
A reusable high-level solution shape for organizing software systems, such as layered architecture, event-driven systems, or CQRS. Architecture patterns help...
Architecture Review
A formal evaluation of a proposed or existing system design to assess correctness, scalability, maintainability, risk, and alignment with engineering...
Base Class
Base Class is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture and...
Brutalist Design
A design style that emphasizes raw, stark, sometimes intentionally awkward or anti-polished visual choices. In web culture, brutalist design is often used to...
Builder Pattern
A creational design pattern that constructs complex objects step by step through a fluent API, separating construction from representation. Especially useful...
Canvas Culture
A culture centered on visual composition, drag-and-drop layout, and flexible creation surfaces rather than strictly text- or form-driven workflows. The phrase...
Class Diagram
Class Diagram is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture...
Class Hierarchy
Class Hierarchy is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application...
Class Method
Class Method is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture...
Clean Architecture
An architectural pattern (by Robert C. Martin) with concentric layers where dependencies point inward: Entities (business rules) → Use Cases (application...
Clean Sheet
A fresh start that assumes no inherited constraints, often used in planning, budgeting, or design exercises. Clean-sheet thinking can surface better options...
Code Architecture
The structural organization of a codebase, including module boundaries, layering, dependency direction, and the distribution of responsibilities across files...
Code Design
The way code is structured internally, including abstraction choices, interfaces, responsibilities, data flow, and error handling. Code design sits below...
Code Design Culture
The norms a team has around thinking about structure, interfaces, modularity, and design tradeoffs before and during implementation. Strong code design culture...
Color Contrast Ratio
The relative luminance ratio between foreground text and its background, ranging from 1:1 (identical) to 21:1 (black on white). WCAG AA requires 4.5:1 for...
Color Scheme
The coordinated set of colors used in an interface or visual system, including backgrounds, text, accents, and semantic states. In development work, a color...
Command Bus
Command Bus is a software design or object-modeling concept that shapes how code is organized. It is commonly used for maintainable application architecture...
Component Design
The process of defining a component's responsibilities, interface, inputs, outputs, and internal boundaries so it fits cleanly into a larger system. Strong...
Cryptographic Protocol
A protocol that uses cryptographic operations to achieve goals such as confidentiality, authentication, key exchange, or integrity. Even strong primitives can...
Dark Mode Culture
The strong preference and aesthetic identity many tech users and developers have around dark-themed interfaces. The phrase is often used half-seriously to...
Dark Pattern
A user interface design deliberately crafted to trick users into doing things they don't intend — hidden unsubscribe buttons, pre-checked consent boxes,...
Data Visualization
The visual presentation of data through charts, graphs, maps, and other forms intended to make patterns easier to understand. In culture, good data...
Design Culture
The way an organization or team thinks about design, including taste, process, critique, accessibility, craft, and how design is valued relative to other...
Designer Developer
A person who works comfortably across both design and development rather than staying firmly inside one discipline. In product culture designer-developers are...
Design Language
A coherent set of visual, structural, and interaction principles that make a product or brand feel consistent. In tech and product culture design language is...
Design Pattern Culture
A culture that leans heavily on named patterns and reusable design ideas when discussing architecture and implementation. This can create shared vocabulary,...
Design Review
A structured review of a design proposal, whether visual, technical, or interaction-focused, to surface issues and improve alignment before implementation. In...
Design Sprint
A time-boxed process for rapidly exploring, prototyping, and testing ideas, often over several days with a cross-functional group. In product culture design...
Design System
A comprehensive collection of reusable UI components, design tokens, patterns, and guidelines — backed by code — that ensures visual and functional consistency...
Domain-Driven Design
A software design approach that focuses on modeling the core business domain through close collaboration with domain experts. Key concepts: bounded contexts...
Emergent Design
A style of design in which structure and solutions evolve through iterative work and learning rather than being fully specified upfront. In software culture...
End User
The person who ultimately uses a product, feature, or system rather than the team that builds or administers it. In engineering culture the term matters...
Eye Tracking
A method of measuring where people's eyes move and focus while they look at screens, interfaces, or physical environments. In design culture eye tracking is...
Factory Pattern
The Factory pattern is a creational design pattern that delegates object creation to a dedicated method or class rather than using direct constructors. The...
Flat Design
Flat Design is a minimalist user interface design style characterized by clean, open space, crisp edges, bright colors, and two-dimensional illustrations...
footgun
A feature, API, or tool that makes it dangerously easy for users to shoot themselves in the foot — causing bugs, data loss, or outages through normal,...
Footgun
A feature, API, or tool that makes it easy for users to accidentally harm themselves — it's like handing someone a gun that's pointed at their foot. C's manual...
FreeCAD
An open-source parametric 3D CAD application used for mechanical design and modeling.
Gamification
The use of game-like elements such as points, badges, streaks, levels, or leaderboards in non-game contexts to influence engagement and behavior. In product...
Golden Path
The ideal, expected flow through a system when everything goes right — no errors, no edge cases, no user stupidity. The path your demo always follows. Also...
Graceful Degradation
A design philosophy where a system continues to function with reduced capability when a component fails, rather than failing completely. The website still...
Gradient Culture
A playful term for a culture that prefers nuance, gradual change, or smooth transition instead of sharp binaries and rigid categories. It can be used literally...
HATEOAS
Hypermedia as the Engine of Application State — a REST constraint where API responses include hyperlinks to related actions and resources, allowing clients to...
Hero Image
A large featured visual placed prominently at the top of a webpage, landing page, or product surface to set tone, support messaging, and draw attention. In...
Hexagonal Architecture
An architectural pattern (also called Ports and Adapters) where business logic is isolated at the center, communicating with the outside world through defined...
idempotency
The property where performing an operation multiple times produces the same result as performing it once. In APIs, idempotent operations are safe to retry...
Idempotent Request
An HTTP request that produces the same result regardless of how many times it's executed. GET, PUT, DELETE, and HEAD are idempotent by design. POST is not --...
Implementation
The concrete realization of a design, specification, or interface in working code. In OOP, a class 'implements' an interface by providing method bodies; more...
Inkscape
An open-source vector graphics editor commonly used for SVG illustrations, diagrams, and design assets.
Less Is More
A maxim favoring simplicity, restraint, and reducing unnecessary complexity. In engineering slang, 'less is more' gets invoked when the team needs permission...
Material Design
Google's comprehensive design system based on the metaphor of physical materials and paper — using realistic lighting, elevation shadows, and purposeful motion...
Mockup
Mockup is a static, visual representation of a product or interface that demonstrates its appearance, layout, and key design elements without functional...
normalization
The process of organizing database tables to minimize redundancy and dependency, following a set of progressive rules called normal forms (1NF through 5NF)....
Observer Pattern
The Observer pattern is a behavioral design pattern where an object (the subject) maintains a list of dependents (observers) and notifies them automatically...
OOP
Object-Oriented Programming — a paradigm that organizes code around objects containing data and methods, emphasizing encapsulation, inheritance, and...
Open Design
A movement and practice of making design processes, assets, decisions, and collaboration more open, participatory, and shareable. In open-source culture, open...
Paper Prototype
A low-fidelity prototype made with sketches or printed screens to test interface ideas, flows, or user reactions before investing in full implementation. It is...
Pixel Perfect
Matching a design spec at a very fine visual level, down to spacing, alignment, and individual rendered pixels. The phrase is common in frontend and design...
Pixel Pushing
Making small visual adjustments to UI layout, spacing, alignment, or styling, often repeatedly. It can describe necessary polish or imply low-leverage fiddling...
Premature Abstraction
Creating abstractions, interfaces, or generalized solutions before understanding the actual requirements — the flip side of premature optimization. Often...
Prompt Design
The work of structuring instructions, examples, formatting, and context so an AI model behaves as intended. Prompt design is both a product and engineering...
Protocol Security
The security properties and protections of a communication protocol, including authentication, confidentiality, integrity, replay resistance, and downgrade...
Prototype
Prototype is a preliminary version of a product, system, or feature built to test concepts, validate assumptions, and gather feedback before investing in full...
Repository Pattern
A design pattern that mediates between domain logic and data mapping layers, providing a collection-like interface for accessing domain objects. The repository...
Request for Comments
A document format or process used to propose ideas, standards, protocols, or major project changes for review and discussion before adoption. Often abbreviated...
RFC Process
A structured process for proposing and discussing significant changes to a project. Authors write a detailed proposal (motivation, detailed design,...
Schema
A formal description of the structure of data — including tables, columns, types, constraints, and relationships in a database, or the shape of JSON, XML, or...
Simple Is Hard
A reminder that elegant simplicity usually takes more thought and discipline than piling on features or abstractions. In engineering slang, it is often said...
Skeuomorphism
A design approach where digital interface elements mimic the appearance and textures of their real-world counterparts — leather textures on calendar apps,...
Solarpunk
A speculative aesthetic and cultural movement imagining optimistic futures built around sustainability, distributed technology, ecological design, and...
Strategy Pattern
A behavioral design pattern that encapsulates interchangeable algorithms behind a common interface, letting the client switch strategies at runtime. Eliminates...
System Architecture
The high-level structural design of a software system, defining its major components, their responsibilities, how they communicate (APIs, message queues, RPC),...
Testability
The degree to which a software component can be effectively and efficiently tested, determined by factors like dependency injection, separation of concerns,...
Threat Model
A structured analysis of what you're protecting, who might attack it, how they'd do it, and what's most likely to go wrong — ideally performed before you write...
Threat Modeling
A structured process for identifying security threats, attack vectors, and mitigations during the design phase — before code is written. Common frameworks:...
Trade-off
A deliberate engineering decision where improving one quality (speed, simplicity, safety) comes at the expense of another. The essence of software architecture...
User Flow
A visual diagram or sequence that maps out the complete path a user takes through a product to accomplish a specific task — from entry point through each...
User Interface
The visual and interactive layer through which a human interacts with software, encompassing graphical elements (GUI), command-line prompts (CLI), or other...
Vaporwave
An internet-born visual and musical aesthetic built around retro digital imagery, synthetic nostalgia, pastel gradients, classical busts, and distorted...
Wireframe
A low-fidelity, skeletal outline of a web page or app screen that maps out structure, layout, and content hierarchy without visual polish — no colors, real...

Related Topics