11 repositorios
The ability of code to operate on different types that share a common interface or set of methods.
Distinct from Trait Object Polymorphism: Candidates focus on binary serialization or Rust traits rather than general JavaScript duck-typing polymorphism.
Explore 11 awesome GitHub repositories matching software engineering & architecture · Interface-Based Polymorphism. Refine with filters or upvote what's useful.
Clojure is a general-purpose, functional programming language hosted on the Java Virtual Machine. It is a homoiconic S-expression language that represents programs as nested data structures, allowing code to be manipulated and evaluated as data. The project provides a framework for JVM interoperability, enabling the invocation of Java methods and integration with other JVM-based languages. It distinguishes itself through a persistent data structure library that uses bitmapped vector tries to manage immutable collections and a programmatic REPL for interactive software development and real-tim
Decouples interface definition from implementation by allowing any data type to implement a set of required functions.
Epoxy is an Android library for building complex RecyclerView screens using a model-driven approach. It generates RecyclerView adapter models at compile time from annotated custom views, data binding layouts, or view holders, eliminating the manual boilerplate typically associated with view holders and adapters. The library provides a diffing engine that automatically compares model lists and applies minimal updates with animations for insertions, removals, and moves. The library distinguishes itself through its controller-based model building, where a controller class with a buildModels meth
Generates interfaces from shared view props for type-safe polymorphic model access.
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.
Demonstrates how to use shared contracts to allow interchangeable class implementations via polymorphism.
Este proyecto es una traducción al chino de una guía completa sobre el lenguaje de programación Go. Sirve como un recurso educativo localizado y un manual técnico diseñado para proporcionar orientación sobre la sintaxis del lenguaje, su diseño y el desarrollo de software. El recurso cubre una amplia gama de educación sobre el lenguaje Go, incluida la implementación de patrones de programación y diseño de sistemas. Incluye lecciones traducidas y ejemplos que se centran en características principales del lenguaje como la concurrencia y el uso de interfaces. El contenido abarca varias áreas de capacidad, incluidos los fundamentos del lenguaje, modelado de datos, reflexión en tiempo de ejecución y gestión de memoria. También proporciona una cobertura detallada de la arquitectura de software, manejo de errores, control de calidad y redes web. La documentación está estructurada como un manual técnico que incluye contenido traducido, erratas y correcciones para garantizar un aprendizaje preciso.
Guides the implementation of interface-based polymorphism to treat different concrete types uniformly.
Este proyecto es una librería de patrones de diseño en C++ y una referencia de programación. Proporciona una colección de patrones de arquitectura de software estructurales, creacionales y de comportamiento implementados en C++ para servir como planos para organizar clases y objetos. La librería cubre la implementación de patrones estándar para la instanciación de objetos, comunicación y organización estructural. Demuestra la aplicación de patrones de diseño estándar de la industria para abordar problemas comunes de diseño de software a través de una arquitectura orientada a objetos. La base de código incluye implementaciones de patrones creacionales para estandarizar la creación de objetos, patrones estructurales para organizar las relaciones entre clases y patrones de comportamiento para coordinar la comunicación y la responsabilidad entre objetos.
Provides implementations of abstract base classes and virtual methods to decouple logic from implementation.
TypeDB es una base de datos de grafos fuertemente tipada y un sistema de gestión de grafos de conocimiento. Sirve como un almacén de datos multimodelo que unifica estructuras relacionales, de documentos y de grafos en un solo entorno, funcionando tanto como una base de datos compatible con ACID como un motor de consultas declarativo. El sistema se distingue por el uso de modelado de hipergrafos n-arios y jerarquías de tipos polimórficos. Emplea un esquema fuertemente tipado para imponer reglas estructurales y validar la integridad de los datos, permitiendo la inferencia polimórfica basada en tipos y el polimorfismo de interfaz basado en roles para resolver relaciones complejas automáticamente durante la ejecución de consultas. La plataforma cubre una amplia gama de capacidades, incluyendo el cálculo de relaciones recursivas mediante tabulación, transacciones con aislamiento de instantáneas y recuperación declarativa de datos. También admite alta disponibilidad mediante replicación de clúster basada en consenso, control de acceso basado en roles e integración con agentes de IA para la recuperación de datos estructurados. La gestión se realiza a través de una interfaz de línea de comandos, y el sistema proporciona herramientas para visualizar esquemas de grafos y auditar la actividad administrativa.
Implements role-based interface polymorphism to allow different entity types to be used interchangeably within a single relation role.
This project is a technical programming guide and educational resource focused on Go internals, runtime mechanisms, and advanced language features. It provides detailed conceptual analysis of the language's execution model, including its scheduler, memory escape analysis, and garbage collection mechanisms. The material distinguishes itself through deep dives into high-concurrency system design, exploring the implementation of worker pools and communication channels. It also covers low-level network programming with a focus on I/O multiplexing and TCP state management, alongside a study of dis
Explains how Go uses interface types to operate on different concrete types sharing a common method set.
Eloquent-JavaScript is a comprehensive JavaScript programming textbook and interactive coding tutorial designed for web development education. It serves as both a language reference and a practical guide, combining theoretical lessons with an environment where learners can execute and modify code examples. The project focuses on the fundamental principles of the JavaScript language, including lexical scoping, prototype-based inheritance, and asynchronous patterns. It provides detailed instruction on object-oriented programming, functional programming, and the use of the browser DOM to create
Teaches how to write polymorphic code that works with any object supporting a specific interface.
Este repositorio es una colección de estructuras de datos fundamentales y algoritmos clásicos implementados en Go, diseñados para el estudio educativo y el desarrollo de habilidades técnicas. Proporciona una librería integral de primitivas de almacenamiento estándar y procedimientos computacionales destinados a demostrar una organización de datos y una lógica eficientes. El proyecto destaca por su enfoque en los principios de diseño central, utilizando parámetros de tipo a nivel de lenguaje y polimorfismo basado en interfaces para mantener la seguridad de tipos y la modularidad. Las implementaciones se basan en lógica iterativa y gestión de memoria directa mediante punteros, priorizando la eficiencia estructural y una organización de código clara y mantenible. La librería cubre una amplia gama de temas esenciales de ciencias de la computación, incluyendo diversas técnicas de búsqueda, ordenamiento y coincidencia de patrones de cadenas. Estas implementaciones sirven como recurso para analizar el rendimiento, practicar patrones algorítmicos y prepararse para evaluaciones técnicas.
Employs interface-based polymorphism to allow interchangeable algorithm implementations.
This library provides a comprehensive collection of fundamental computer science primitives implemented in Go. It serves as a resource for both educational purposes and production applications, offering standard tools for organizing, searching, and sorting data. The implementation leverages language-level type parameters to ensure type safety while maintaining flexibility across different data types. It utilizes interface-driven polymorphism and pointer-based memory management to define common behaviors and handle complex structures. To optimize performance, the library employs in-place data
Defines common behaviors through interface-driven polymorphism to allow interchangeable implementations of sorting and searching logic.
This repository provides a collection of fundamental computer science algorithms and data structures implemented in Go. It serves as a technical reference and educational resource, offering reusable modules for common computational tasks including data organization, graph analysis, and numerical operations. The library distinguishes itself through the application of idiomatic Go patterns, utilizing generics for type abstraction and interface-driven polymorphism to ensure compile-time type safety. It emphasizes algorithmic efficiency by employing in-place memory mutation to reduce allocations
Utilizes interface-based polymorphism to provide interchangeable algorithm implementations while maintaining strict compile-time type safety.