Tag: design-patterns
All the articles with the tag "design-patterns".
Design Patterns: Builder
Published: at 01:14 PMThe Builder Design Pattern separates object creation from its representation, enabling flexible and controlled assembly of complex objects. It uses a construction interface and concrete builders to produce different configurations efficiently.
Design Patterns: State
Published: at 02:59 PMThe State Design Pattern manages an object's behavior based on its current state, encapsulating state-specific logic in separate classes. This approach results in cleaner, modular code.
Design Patterns: Null Object
Published: at 03:34 PMThis article discusses the Null Object design pattern, explaining how it can be used to simplify code by removing the need for null checks. It covers the impact of null checks on cyclomatic complexity and provides a practical guide to implementing the pattern for cleaner and more maintainable code
Design Patterns: Template Method
Published: at 04:32 PMThe Template Method pattern defines an algorithm's structure in a base class while allowing subclasses to customize specific steps. This approach reduces code duplication, enforces workflow consistency, and supports better extensibility, making it ideal for scenarios like game logic, UI frameworks, and data processing.
Design Patterns: Memento
Published: at 12:18 PMThe Memento Design Pattern, a powerful tool for implementing undo/redo functionality and managing object states while adhering to software design principles like encapsulation and the Single Responsibility Principle.
Design Patterns: Bridge
Published: at 03:09 PMThe Bridge pattern decouples abstractions from their implementations, enabling flexible and scalable code structures. By favoring composition over inheritance, it helps manage complexity and reduce code duplication.
Design Patterns: Command
Published: at 02:06 PMThe Command design pattern encapsulates actions as objects, allowing for flexible execution, queuing, and undo/redo operations. It decouples command execution from application logic, enhancing modularity and maintainability in systems