9 Repos
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.
Dieses Projekt ist eine TypeScript-Bibliothek für Entwurfsmuster und ein Architekturleitfaden. Es bietet eine Sammlung branchenüblicher Softwarearchitektur-Muster, die in TypeScript implementiert sind, um die Objekterstellung und -kommunikation zu demonstrieren. Die Bibliothek dient als praktische Referenz für die Anwendung objektorientierter Designprinzipien und nutzt statische Typisierung, um die strukturellen Anforderungen dieser Muster während der Kompilierungsphase durchzusetzen. Der Inhalt umfasst die Implementierung von Erzeugungsmustern (Creational Patterns) zur Entkopplung der Objektinstanziierung von der Geschäftslogik, Strukturmustern zur Anordnung von Klassen und Objekten in größeren Kompositionen sowie Verhaltensmustern zur Verwaltung der Objektkommunikation und Verantwortungsverteilung.
Demonstrates how to use shared contracts to allow interchangeable class implementations via polymorphism.
Dieses Projekt ist eine chinesische Übersetzung eines umfassenden Leitfadens zur Programmiersprache Go. Es dient als lokalisierte Bildungsressource und technisches Handbuch, das Orientierung zu Sprachsyntax, Design und Softwareentwicklung bietet. Die Ressource deckt ein breites Spektrum der Go-Sprachausbildung ab, einschließlich der Implementierung von Programmiermustern und Systemdesign. Sie enthält übersetzte Lektionen und Beispiele, die sich auf Kernfunktionen der Sprache wie Concurrency und die Verwendung von Interfaces konzentrieren. Der Inhalt umfasst verschiedene Kompetenzbereiche, darunter Sprachgrundlagen, Datenmodellierung, Runtime-Reflection und Speicherverwaltung. Zudem bietet es detaillierte Abhandlungen zu Softwarearchitektur, Fehlerbehandlung, Qualitätssicherung und Web-Networking. Die Dokumentation ist als technisches Handbuch strukturiert, das übersetzte Inhalte, Errata und Korrekturen enthält, um ein präzises Lernen zu gewährleisten.
Guides the implementation of interface-based polymorphism to treat different concrete types uniformly.
Dieses Projekt ist eine Bibliothek für C++-Entwurfsmuster und eine Programmierreferenz. Es bietet eine Sammlung struktureller, erzeugender und verhaltensbezogener Softwarearchitekturmuster, die in C++ implementiert sind, um als Blaupausen für die Organisation von Klassen und Objekten zu dienen. Die Bibliothek deckt die Implementierung von Standardmustern für Objektinstanziierung, Kommunikation und strukturelle Organisation ab. Sie demonstriert die Anwendung branchenüblicher Entwurfsmuster zur Lösung gängiger Software-Designprobleme durch objektorientierte Architektur. Die Codebasis enthält Implementierungen von Erzeugungsmustern zur Standardisierung der Objekterstellung, Strukturmustern zur Organisation von Klassenbeziehungen und Verhaltensmustern zur Koordination von Kommunikation und Verantwortlichkeiten zwischen Objekten.
Provides implementations of abstract base classes and virtual methods to decouple logic from implementation.
TypeDB ist eine stark typisierte Graphdatenbank und ein Knowledge-Graph-Managementsystem. Es dient als Multi-Modell-Datenspeicher, der relationale, Dokument- und Graphstrukturen in einer einzigen Umgebung vereint und sowohl als ACID-konforme Datenbank als auch als deklarative Abfrage-Engine fungiert. Das System zeichnet sich durch die Verwendung von n-ären Hypergraph-Modellen und polymorphen Typ-Hierarchien aus. Es verwendet ein stark typisiertes Schema, um strukturelle Regeln durchzusetzen und die Datenintegrität zu validieren, was typbasierte polymorphe Inferenz und rollenbasierte Interface-Polymorphie ermöglicht, um komplexe Beziehungen während der Abfrageausführung automatisch aufzulösen. Die Plattform deckt ein breites Spektrum an Funktionen ab, einschließlich der Berechnung rekursiver Beziehungen mittels Tabling, Snapshot-Isolation-Transaktionen und deklarativem Datenabruf. Sie unterstützt zudem Hochverfügbarkeit durch konsensbasierte Cluster-Replikation, rollenbasierte Zugriffskontrolle und die Integration mit KI-Agenten für den strukturierten Datenabruf. Die Verwaltung wird über eine Kommandozeilenschnittstelle unterstützt, und das System bietet Tools zur Visualisierung von Graph-Schemata sowie zur Prüfung administrativer Aktivitäten.
Implements role-based interface polymorphism to allow different entity types to be used interchangeably within a single relation role.
Dieses Projekt ist ein technischer Programmierleitfaden und eine Bildungsressource, die sich auf Go-Internals, Laufzeitmechanismen und fortgeschrittene Sprachfeatures konzentriert. Es bietet eine detaillierte konzeptionelle Analyse des Ausführungsmodells der Sprache, einschließlich ihres Schedulers, der Memory-Escape-Analyse und der Garbage-Collection-Mechanismen. Das Material zeichnet sich durch Deep Dives in das Design hochkonkurrenter Systeme aus und erforscht die Implementierung von Worker-Pools und Kommunikationskanälen. Es behandelt zudem Low-Level-Netzwerkprogrammierung mit Fokus auf I/O-Multiplexing und TCP-Zustandsverwaltung sowie eine Studie zur Theorie verteilter Systeme unter Anwendung von CAP- und BASE-Theoremen auf skalierbare Services. Der Umfang erstreckt sich auf Performance-Optimierung mittels CPU- und Memory-Profiling, Modul-Abhängigkeitsmanagement und Integritätsprüfung sowie die Anwendung von Softwarearchitektur-Prinzipien wie Dependency Inversion. Es untersucht zudem das polymorphe Verhalten des Typsystems und die Internals der automatisierten Speicherverwaltung.
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.
This repository is a collection of fundamental data structures and classic algorithms implemented in Go, designed for educational study and technical skill development. It provides a comprehensive library of standard storage primitives and computational procedures intended to demonstrate efficient data organization and logic. The project distinguishes itself through a focus on core design principles, utilizing language-level type parameters and interface-based polymorphism to maintain type safety and modularity. Implementations rely on iterative logic and direct memory management via pointers
Employs interface-based polymorphism to allow interchangeable algorithm implementations.