9 dépôts
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 9 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.
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.
Demonstrates how to use shared contracts to allow interchangeable class implementations via polymorphism.
Ce projet est une traduction chinoise d'un guide complet sur le langage de programmation Go. Il sert de ressource éducative localisée et de manuel technique conçu pour fournir des conseils sur la syntaxe, la conception et le développement logiciel. La ressource couvre un large éventail d'enseignements sur le langage Go, y compris l'implémentation de modèles de programmation et la conception système. Elle inclut des leçons traduites et des exemples axés sur les fonctionnalités fondamentales du langage telles que la concurrence et l'utilisation des interfaces. Le contenu couvre divers domaines, notamment les fondamentaux du langage, la modélisation de données, la réflexion au runtime et la gestion de la mémoire. Il fournit également une couverture détaillée de l'architecture logicielle, de la gestion des erreurs, de l'assurance qualité et du réseau web. La documentation est structurée comme un manuel technique comprenant du contenu traduit, des errata et des corrections pour garantir un apprentissage précis.
Guides the implementation of interface-based polymorphism to treat different concrete types uniformly.
Ce projet est une bibliothèque de modèles de conception (design patterns) C++ et une référence de programmation. Il fournit une collection de modèles d'architecture logicielle structurels, créationnels et comportementaux implémentés en C++ pour servir de plans pour l'organisation des classes et des objets. La bibliothèque couvre l'implémentation de modèles standard pour l'instanciation d'objets, la communication et l'organisation structurelle. Elle démontre l'application de modèles de conception conformes aux normes de l'industrie pour résoudre des problèmes de conception logicielle courants via une architecture orientée objet. La base de code inclut des implémentations de modèles créationnels pour standardiser la création d'objets, de modèles structurels pour organiser les relations entre classes, et de modèles comportementaux pour coordonner la communication et la responsabilité entre les objets.
Provides implementations of abstract base classes and virtual methods to decouple logic from implementation.
TypeDB est une base de données orientée graphe fortement typée et un système de gestion de graphes de connaissances. Il sert de magasin de données multi-modèles qui unifie les structures relationnelles, documentaires et de graphes dans un environnement unique, fonctionnant à la fois comme une base de données conforme ACID et un moteur de requête déclaratif. Le système se distingue par l'utilisation de la modélisation par hypergraphes n-aires et de hiérarchies de types polymorphes. Il emploie un schéma fortement typé pour appliquer des règles structurelles et valider l'intégrité des données, permettant une inférence polymorphe basée sur les types et un polymorphisme d'interface basé sur les rôles pour résoudre automatiquement les relations complexes lors de l'exécution des requêtes. La plateforme couvre un large éventail de capacités, notamment le calcul de relations récursives via le tabling, les transactions avec isolation par snapshot et la récupération de données déclarative. Elle prend également en charge la haute disponibilité via la réplication de cluster basée sur le consensus, le contrôle d'accès basé sur les rôles et l'intégration avec des agents IA pour la récupération de données structurées. La gestion est prise en charge via une interface de ligne de commande, et le système fournit des outils pour visualiser les schémas de graphes et auditer l'activité administrative.
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.
Ce dépôt est une collection de structures de données fondamentales et d'algorithmes classiques implémentés en Go, conçus pour l'étude éducative et le développement des compétences techniques. Il fournit une bibliothèque complète de primitives de stockage standard et de procédures computationnelles destinées à démontrer une organisation efficace des données et de la logique. Le projet se distingue par un accent sur les principes de conception de base, utilisant des paramètres de type au niveau du langage et le polymorphisme basé sur les interfaces pour maintenir la sécurité des types et la modularité. Les implémentations reposent sur une logique itérative et une gestion directe de la mémoire via des pointeurs, privilégiant l'efficacité structurelle et une organisation du code claire et maintenable. La bibliothèque couvre un large éventail de sujets essentiels en informatique, y compris diverses techniques de recherche, de tri et de correspondance de motifs de chaînes. Ces implémentations servent de ressource pour analyser les performances, pratiquer les modèles algorithmiques et se préparer aux évaluations techniques.
Employs interface-based polymorphism to allow interchangeable algorithm implementations.