11 dépôts
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.
Ce projet est un guide d'implémentation de design patterns et une référence architecturale. Il fournit une collection pratique d'exemples de code démontrant des patterns créationnels, structurels et comportementaux pour améliorer la maintenabilité et la qualité logicielle. La bibliothèque inclut des implémentations standardisées pour l'instanciation d'objets via des patterns créationnels, des templates pour assembler des objets en hiérarchies efficaces en utilisant des patterns structurels, et des exemples pour gérer la communication et la distribution des responsabilités entre objets via des patterns comportementaux. Le projet mappe ces design patterns abstraits à des domaines métier spécifiques, tels que les transactions et le marketing, pour démontrer comment résoudre des problèmes logiciels réels. Cela inclut l'application du dispatch polymorphique à l'exécution et le découplage basé sur les interfaces pour réduire la complexité du système et augmenter la scalabilité.
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.
Ce projet est une collection de référence d'exemples pratiques démontrant l'implémentation de modèles de conception logicielle (design patterns) courants en Kotlin. Il sert de guide aux meilleures pratiques architecturales et aux principes orientés objet à travers l'application de modèles comportementaux, créationnels et structurels. La collection fournit des implémentations concrètes pour démontrer comment découpler l'instanciation d'objets, gérer la communication et la responsabilité entre les objets, et organiser des relations complexes entre classes et objets. La référence couvre les modèles créationnels tels que les fabriques (factories) et les constructeurs (builders), les modèles structurels incluant les adaptateurs et les composites, et les modèles comportementaux tels que les observateurs et les stratégies.
Implements design strategies that prioritize object composition over inheritance to reduce coupling in Kotlin.
Ce projet est une bibliothèque de design patterns TypeScript et un guide d'architecture. Il fournit une collection de patterns d'architecture logicielle standards de l'industrie implémentés en TypeScript pour démontrer la création et la communication d'objets. La bibliothèque sert de référence pratique pour appliquer les principes de conception orientée objet, utilisant le typage statique pour imposer les exigences structurelles de ces patterns durant la phase de compilation. Le contenu couvre l'implémentation de patterns de création pour découpler l'instanciation d'objets de la logique métier, de patterns structurels pour organiser les classes et objets en compositions plus larges, et de patterns comportementaux pour gérer la communication et la distribution des responsabilités entre objets.
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.
Ce projet est une collection d'explications simplifiées et d'implémentations de code pour des motifs de conception logicielle courants utilisant JavaScript. Il sert de guide pour implémenter des motifs de conception créationnels, structurels et comportementaux afin de résoudre des problèmes d'architecture logicielle. La ressource catégorise les motifs en trois groupes principaux. Les motifs créationnels se concentrent sur l'instanciation flexible d'objets et la gestion des ressources. Les motifs structurels organisent les relations entre objets et les interfaces pour former des structures efficaces. Les motifs comportementaux gèrent la communication et l'interaction entre les objets. Le matériel couvre des concepts fondamentaux incluant la programmation orientée objet, la planification de l'architecture logicielle et les stratégies de refactoring de code pour réduire la dette technique.
Provides strategies for composing objects to decouple interfaces from implementations and reduce coupling.