9 repository-uri
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.
Acest proiect este o bibliotecă de design patterns pentru TypeScript și un ghid de arhitectură. Oferă o colecție de tipare de arhitectură software standard în industrie, implementate în TypeScript pentru a demonstra crearea și comunicarea obiectelor. Biblioteca servește drept referință practică pentru aplicarea principiilor de design orientat pe obiecte, utilizând tipizarea statică pentru a impune cerințele structurale ale acestor tipare în timpul fazei de compilare. Conținutul acoperă implementarea tiparelor de creație pentru a decupla instanțierea obiectelor de logica de business, tipare structurale pentru a aranja clasele și obiectele în compoziții mai mari și tipare comportamentale pentru a gestiona comunicarea obiectelor și distribuția responsabilităților.
Demonstrates how to use shared contracts to allow interchangeable class implementations via polymorphism.
Acest proiect este o traducere în chineză a unui ghid cuprinzător pentru limbajul de programare Go. Servește ca resursă educațională localizată și manual tehnic conceput pentru a oferi îndrumări privind sintaxa limbajului, designul și dezvoltarea software. Resursa acoperă o gamă largă de educație în limbajul Go, inclusiv implementarea modelelor de programare și designul de sistem. Include lecții traduse și exemple care se concentrează pe caracteristicile de bază ale limbajului, cum ar fi concurența și utilizarea interfețelor. Conținutul acoperă diverse domenii de capabilitate, inclusiv fundamentele limbajului, modelarea datelor, runtime reflection și gestionarea memoriei. De asemenea, oferă o acoperire detaliată a arhitecturii software, gestionarea erorilor, asigurarea calității și rețelistica web. Documentația este structurată ca un manual tehnic care conține conținut tradus, erate și corecții pentru a asigura o învățare precisă.
Guides the implementation of interface-based polymorphism to treat different concrete types uniformly.
Acest proiect este o bibliotecă de design patterns C++ și o referință de programare. Oferă o colecție de tipare de arhitectură software structurale, creaționale și comportamentale implementate în C++ pentru a servi drept blueprint-uri pentru organizarea claselor și obiectelor. Biblioteca acoperă implementarea tiparelor standard pentru instanțierea obiectelor, comunicare și organizare structurală. Demonstrează aplicarea tiparelor de design standard în industrie pentru a aborda probleme comune de design software prin arhitectură orientată pe obiecte. Codebase-ul include implementări ale tiparelor creaționale pentru a standardiza crearea obiectelor, tipare structurale pentru a organiza relațiile dintre clase și tipare comportamentale pentru a coordona comunicarea și responsabilitatea între obiecte.
Provides implementations of abstract base classes and virtual methods to decouple logic from implementation.
TypeDB este o bază de date graf și un sistem de gestionare a cunoștințelor (knowledge graph) puternic tipizat. Servește ca un magazin de date multi-model care unifică structurile relaționale, document și graf într-un singur mediu, funcționând atât ca o bază de date conformă ACID, cât și ca un motor de interogare declarativ. Sistemul se distinge prin utilizarea modelării n-ary hypergraph și a ierarhiilor de tip polimorfice. Utilizează o schemă puternic tipizată pentru a impune reguli structurale și a valida integritatea datelor, permițând inferența polimorfică bazată pe tip și polimorfismul de interfață bazat pe roluri pentru a rezolva automat relațiile complexe în timpul execuției interogărilor. Platforma acoperă o gamă largă de capabilități, inclusiv calcularea relațiilor recursive prin tabling, tranzacții cu izolare de snapshot și regăsirea declarativă a datelor. De asemenea, suportă disponibilitatea ridicată prin replicarea clusterelor bazată pe consens, controlul accesului bazat pe roluri și integrarea cu agenți AI pentru regăsirea datelor structurate. Gestionarea este susținută printr-o interfață de linie de comandă, iar sistemul oferă instrumente pentru vizualizarea schemelor graf și auditarea activității administrative.
Implements role-based interface polymorphism to allow different entity types to be used interchangeably within a single relation role.
Acest proiect este un ghid tehnic de programare și o resursă educațională axată pe internele Go, mecanismele de runtime și funcționalitățile avansate ale limbajului. Oferă o analiză conceptuală detaliată a modelului de execuție al limbajului, inclusiv scheduler-ul său, analiza de escape a memoriei și mecanismele de garbage collection. Materialul se distinge prin incursiuni profunde în designul sistemelor cu concurență ridicată, explorând implementarea pool-urilor de worker-i și a canalelor de comunicare. Acoperă, de asemenea, programarea de rețea de nivel scăzut cu accent pe multiplexarea I/O și gestionarea stării TCP, alături de un studiu al teoriei sistemelor distribuite aplicând teoremele CAP și BASE pentru servicii scalabile. Domeniul de aplicare se extinde la optimizarea performanței prin profilarea CPU și a memoriei, gestionarea dependențelor modulelor și verificarea integrității, precum și aplicarea principiilor de arhitectură software precum inversarea dependenței. Examinează în continuare comportamentul polimorf al sistemului de tipuri și internele gestionării automate a memoriei.
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.
Acest repository este o colecție de structuri de date fundamentale și algoritmi clasici implementați în Go, concepuți pentru studiu educațional și dezvoltarea abilităților tehnice. Oferă o bibliotecă cuprinzătoare de primitive de stocare standard și proceduri computaționale menite să demonstreze organizarea eficientă a datelor și logica. Proiectul se distinge printr-un accent pe principiile de design de bază, utilizând parametri de tip la nivel de limbaj și polimorfism bazat pe interfețe pentru a menține siguranța tipurilor și modularitatea. Implementările se bazează pe logică iterativă și gestionarea directă a memoriei prin pointeri, prioritizând eficiența structurală și organizarea clară și mentenabilă a codului. Biblioteca acoperă o gamă largă de subiecte esențiale de informatică, inclusiv diverse tehnici de căutare, sortare și potrivire a modelelor de șiruri (string pattern matching). Aceste implementări servesc drept resursă pentru analizarea performanței, exersarea modelelor algoritmice și pregătirea pentru evaluările tehnice.
Employs interface-based polymorphism to allow interchangeable algorithm implementations.