software-design - Concepts
Explore concepts tagged with "software-design"
Total concepts: 18
Concepts
- Convention Over Configuration - A software design paradigm that reduces decisions developers need to make by providing sensible defaults based on conventions.
- Microservices Architecture - A distributed architecture style that structures an application as a collection of small, autonomous services organized around business capabilities.
- Local-First - Software design where data lives primarily on your devices, with cloud as optional sync.
- Clean Architecture - A software architecture pattern that emphasizes separation of concerns through concentric layers with dependencies pointing inward.
- Domain-Driven Design - An approach to software development that centers the design on the core business domain and its logic.
- Worse Is Better - A software design philosophy arguing that simpler, 'worse' solutions often succeed over more complete but complex alternatives.
- Modulith - A modular monolith architecture that combines the simplicity of monoliths with the organizational benefits of microservices.
- Bounded Context - A central pattern in Domain-Driven Design that defines explicit boundaries within which a domain model is defined and applicable.
- Design Patterns - Reusable solutions to commonly occurring problems in software design, providing templates for solving design challenges.
- Opinionated Software - Software that prescribes a particular way of doing things, making design decisions for users rather than offering maximum flexibility.
- Fault Tolerance - The ability of a system to continue operating correctly even when some of its components fail.
- Error Handling - The practice of anticipating, detecting, and responding to errors in software to maintain system stability and provide meaningful feedback.
- Defensive Programming - A coding practice that anticipates potential errors and edge cases, writing code that fails safely and provides clear error information.
- Graceful Degradation - A design approach where systems continue to function with reduced capability when components fail, rather than failing completely.
- Breaking Loudly - A software design principle where failures produce visible errors, exceptions, or warnings rather than silently continuing.
- Separation of Concerns - A design principle for dividing a system into distinct sections, each addressing a separate concern or responsibility.
- Service-Oriented Architecture - An architectural style that organizes software as a collection of interoperable services that communicate through standardized interfaces.
- Monolithic Architecture - A software architecture pattern where an entire application is built as a single, unified unit.
← Back to all concepts