11 repositorios
Design strategies that favor composing objects over using inheritance hierarchies to reduce coupling.
Distinct from Composition Hierarchies: Distinct from View Hierarchy Composition as it applies to general object logic, not just UI elements.
Explore 11 awesome GitHub repositories matching software engineering & architecture · Object Composition Patterns. Refine with filters or upvote what's useful.
This project is a collection of engineering guidelines and best practices for writing readable and maintainable JavaScript source code. It serves as a clean code guide and refactoring manual to help developers improve the structure of their codebases. The repository provides a reference for applying SOLID principles to reduce coupling and enable extensions without modifying existing logic. It includes a naming convention standard for using explicit, searchable identifiers and a guide for asynchronous patterns to replace nested callbacks with clearer execution flows. The guidelines cover soft
Offers guidance on building extensible structures through object composition instead of deep inheritance.
This project is a comprehensive collection of software design patterns implemented in Python. It serves as a reference for architectural, behavioral, creational, and structural patterns to guide the organization of Python applications. The collection covers behavioral strategies for managing object communication and state, creational techniques for controlling object instantiation, and structural methods for composing classes and objects into flexible hierarchies. It also includes architectural references for system-wide structuring, such as multi-tier architectures and blackboard models. Th
Implements object composition strategies using adapters and decorators to extend behavior without inheritance.
DesignPatternsPHP is a reference collection of software architecture patterns implemented in PHP 8. It provides a guide for object-oriented programming through sample code demonstrating creational, structural, and behavioral design patterns. The project includes reference implementations for common patterns such as factories, builders, singletons, adapters, bridges, and proxies. Each implementation is accompanied by a PHPUnit test suite to verify that the patterns behave correctly and produce expected logical outcomes. The codebase covers a broad range of architecture capabilities, including
Implements object composition patterns that favor nesting objects over class inheritance to reduce coupling.
This project is a set of software engineering standards and architectural patterns for writing maintainable and refactorable TypeScript code. It provides a comprehensive guide for implementing clean code principles, focusing on the application of SOLID design and structural patterns to build decoupled systems. The framework prioritizes composition over inheritance and utilizes dependency inversion to reduce system coupling. It establishes standards for strict static typing and the use of read-only modifiers to ensure type safety and eliminate runtime errors. The guidance covers a broad range
Provides design strategies that prioritize object composition over inheritance hierarchies to reduce system coupling.
This project is a collection of software design patterns implemented in Go, serving as a technical reference and a set of practical programming examples. It maps theoretical architectural patterns to concrete code to demonstrate structural, creational, and behavioral coding techniques. The repository provides implementations for creational patterns focused on object instantiation and blueprint management, structural patterns for organizing object compositions, and behavioral patterns that manage object interactions and responsibilities. The content covers broad capability areas including in
Implements the Composite pattern to treat single objects and collections of objects under a shared interface.
Este proyecto es una guía de implementación de patrones de diseño de software y una referencia de arquitectura. Proporciona una colección práctica de ejemplos de código que demuestran patrones creacionales, estructurales y de comportamiento para mejorar la mantenibilidad y la calidad del software. La biblioteca incluye implementaciones estandarizadas para la instanciación de objetos mediante patrones creacionales, plantillas para ensamblar objetos en jerarquías eficientes usando patrones estructurales, y ejemplos para gestionar la comunicación de objetos y la distribución de responsabilidades mediante patrones de comportamiento. El proyecto mapea estos patrones de diseño abstractos a dominios de negocio específicos, como transacciones y marketing, para demostrar cómo resolver problemas de software del mundo real. Esto incluye la aplicación de despacho de ejecución polimórfico y desacoplamiento basado en interfaces para reducir la complejidad del sistema y aumentar la escalabilidad.
Implements structural patterns such as Adapter, Bridge, Composite, and Proxy for efficient object composition.
Portfolio and risk analytics in Python
Assembles multiple independent analytical modules into a single report by orchestrating plot and metric generation.
Este proyecto es una colección de referencia de ejemplos prácticos que demuestran la implementación de patrones de diseño de software comunes en Kotlin. Sirve como guía para las mejores prácticas arquitectónicas y principios orientados a objetos mediante la aplicación de patrones de comportamiento, creacionales y estructurales. La colección proporciona implementaciones concretas para demostrar cómo desacoplar la instanciación de objetos, gestionar la comunicación y responsabilidad entre objetos, y organizar relaciones complejas entre clases y objetos. La referencia cubre patrones creacionales como fábricas y constructores (builders), patrones estructurales incluyendo adaptadores y composites, y patrones de comportamiento como observadores y estrategias.
Implements design strategies that prioritize object composition over inheritance to reduce coupling in Kotlin.
Este proyecto es una librería de patrones de diseño en TypeScript y guía de arquitectura. Proporciona una colección de patrones de arquitectura de software estándar de la industria implementados en TypeScript para demostrar la creación y comunicación de objetos. La librería sirve como referencia práctica para aplicar principios de diseño orientado a objetos, utilizando tipado estático para hacer cumplir los requisitos estructurales de estos patrones durante la fase de compilación. El contenido cubre la implementación de patrones creacionales para desacoplar la instanciación de objetos de la lógica de negocio, patrones estructurales para organizar clases y objetos en composiciones más grandes, y patrones de comportamiento para gestionar la comunicación de objetos y la distribución de responsabilidades.
Provides design strategies for composing objects to simplify complex structural relationships.
django-crispy-forms is a Django form rendering library used to generate styled HTML output from forms. It employs a programmatic form layout engine that allows the composition of form structures and styling using Python objects rather than handwritten HTML templates. The library uses a template pack system to decouple form logic from visual styling, enabling the application of different CSS frameworks through configuration settings. This ensures frontend UI consistency by swapping the set of HTML templates used for various frameworks. The tool provides a Django template filter to produce com
Builds form output from a tree of Python objects (Div, Field, ButtonHolder) that map to structured HTML.
This project is a collection of simplified explanations and code implementations for common software design patterns using JavaScript. It serves as a guide for implementing creational, structural, and behavioral design patterns to solve software architecture problems. The resource categorizes patterns into three primary groups. Creational patterns focus on flexible object instantiation and resource management. Structural patterns organize object relationships and interfaces to form efficient structures. Behavioral patterns manage communication and interaction between objects. The material co
Provides strategies for composing objects to decouple interfaces from implementations and reduce coupling.