10 repositorios
Patterns for composing objects into tree structures to treat individual objects and compositions uniformly.
Distinct from Widget Tree Hierarchies: Focuses on the general part-whole structural design pattern, unlike UI widget trees.
Explore 10 awesome GitHub repositories matching software engineering & architecture · Composite Patterns. Refine with filters or upvote what's useful.
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 the composite pattern to represent part-whole hierarchies as tree structures.
DesignPatternsPHP is a reference collection of sample code implementations for common software design patterns using PHP 8.x. It provides a set of examples for implementing creational, structural, and behavioral patterns to organize object-oriented design. The project includes reference implementations for creational patterns that decouple systems from object instantiation, structural patterns that define how classes organize into complex components, and behavioral patterns that manage algorithms and responsibilities between objects.
Organizes objects into tree-like hierarchies where individual elements and compositions are treated uniformly.
This project is a comprehensive technical interview preparation resource and computer science interview guide. It serves as an educational reference for developers to study core software engineering fundamentals and common coding patterns required for employment screenings. The repository provides detailed guides and references covering data structures and algorithms, networking and security, operating systems, and web development. It specifically focuses on the implementation and complexity analysis of sorting, searching, and graph algorithms. The material encompasses a wide breadth of comp
Implements the Composite pattern to represent object hierarchies and treat individual objects and compositions uniformly.
Este proyecto es una librería integral de veintitrés patrones de diseño de software estándar implementados en Java. Sirve como un recurso educativo que mapea conceptos arquitectónicos teóricos a código orientado a objetos práctico. La librería organiza estos patrones en tres categorías principales: patrones creacionales para gestionar la instanciación de objetos, patrones estructurales para organizar las relaciones entre clases y objetos, y patrones de comportamiento para coordinar la comunicación y responsabilidad entre objetos. La implementación proporciona ejemplos de clases concretas para una amplia gama de patrones estándar de la industria, incluyendo los patrones Singleton, Factory y Builder para la creación; los patrones Adapter, Facade y Proxy para la estructura; y los patrones Strategy, Observer y Command para el comportamiento.
Provides an implementation of the Composite pattern for treating individual objects and compositions uniformly.
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
Implements the Composite pattern to treat individual objects and compositions uniformly in tree structures.
BehaviorTree.CPP es una biblioteca de C++ para diseñar lógica de cambio de tareas y comportamientos reactivos utilizando una estructura de árbol jerárquico. Proporciona un marco para crear sistemas de lógica reactiva que gestionan comportamientos complejos a través de un motor de ejecución y un almacén de datos centralizado para compartir el estado entre nodos. La biblioteca desacopla la lógica de comportamiento de alto nivel del código fuente mediante el uso de un analizador XML para definir la morfología del árbol. Además, amplía su funcionalidad a través de un visualizador dedicado para monitorear estados de ejecución en tiempo real y un puente especializado para integrar acciones y servicios de ROS2 en el árbol de comportamiento para el control robótico. El sistema admite la gestión de tareas asíncronas y el diseño de comportamiento reactivo, lo que permite la orquestación de operaciones de larga duración y la capacidad de interrumpir tareas según las condiciones del entorno. Utiliza una pizarra (blackboard) para el intercambio de datos, mapeo de variables basado en puertos para la modularidad y admite extensiones en tiempo de ejecución a través de complementos.
Utilizes composite-decorator nodes to modify the execution and return status of child behavioral nodes.
FastAdapter is a framework for building complex Android lists by mapping data models to view templates. It functions as a RecyclerView adapter framework and composite list controller, aggregating multiple independent data sources and view types into a single unified list. The library includes a specialized engine for flattening hierarchical data into expandable and collapsible rows. It provides a set of tools for managing user interactions, including clicks, long-presses, and item selection across diverse content types. The project covers broad list management capabilities, such as layout co
Implements the composite design pattern to treat individual data sources and their aggregations uniformly within a list.
Beehave is a behavior tree AI framework and plugin for the Godot engine. It serves as an agent logic orchestrator for designing adaptive non-player character behaviors using hierarchical behavior trees. The system features a visual debugger that provides runtime visualization of the execution flow and internal state of active trees. This allows for AI execution analysis and the identification of logic errors through a state-based runtime interface. The framework utilizes a composite-decorator pattern and a tick-based polling cycle to execute tree-based logic. It integrates directly with the
Utilizes a composite-decorator pattern to organize branching and execution modifiers within behavior trees.
Este proyecto sirve como recurso educativo y referencia técnica para implementar patrones de diseño de software clásicos dentro del lenguaje de programación Ruby. Proporciona una colección curada de ejemplos de código que demuestran cómo aplicar patrones de diseño de comportamiento, creacionales y estructurales para resolver problemas comunes de desarrollo de software. El repositorio se distingue por centrarse en la intersección de los principios de diseño establecidos y los mecanismos únicos del lenguaje Ruby. Ilustra cómo aprovechar el despacho dinámico de métodos, el duck typing y la composición basada en mixins para crear código modular y reutilizable. Al aplicar estos patrones, los desarrolladores pueden mejorar la mantenibilidad y escalabilidad de sus aplicaciones mientras reducen la deuda técnica mediante una refactorización y organización estructural efectivas. La colección cubre una amplia gama de enfoques arquitectónicos, incluyendo técnicas para gestionar la instanciación de objetos, simplificar relaciones complejas del sistema y desacoplar la comunicación entre objetos. Estos ejemplos traducen conceptos de diseño abstractos en implementaciones concretas e idiomáticas de Ruby, proporcionando una guía práctica para estructurar sistemas orientados a objetos.
Implements the composite pattern to organize objects into tree structures for uniform treatment of individual and composite elements.
Fluid Behavior Tree es un framework impulsado por código para Unity diseñado para gestionar comportamientos autónomos de personajes a través de estructuras de toma de decisiones jerárquicas. Funciona como un motor de lógica de IA de juegos que procesa comportamientos complejos de entidades atravesando grafos dirigidos de nodos que devuelven señales de éxito, fallo o estado de ejecución durante cada actualización de fotograma. La biblioteca se distingue por un patrón de constructor fluido que permite a los desarrolladores definir estructuras de árbol anidadas, secuencias y flujos de ejecución paralelos completamente a través de métodos de código encadenables. Este enfoque enfatiza la modularidad, permitiendo la creación de módulos de comportamiento reutilizables que pueden componerse en sistemas de IA más grandes y sofisticados. El framework incluye un conjunto integral de herramientas para gestionar ciclos de vida de tareas y extender la funcionalidad a través de acciones, condiciones y decoradores personalizados. Para apoyar el desarrollo, proporciona herramientas de visualización en tiempo real dentro del editor de Unity, permitiendo el monitoreo de jerarquías de árboles activas y la depuración del flujo de lógica durante el juego.
Wraps existing nodes with additional logic to modify execution flow, such as repeating tasks or inverting results.