24 repository-uri
Techniques and abstractions for implementing polymorphic behavior across disparate data types.
Distinguishing note: Focuses on architectural patterns for dispatch rather than specific language implementations.
Explore 24 awesome GitHub repositories matching software engineering & architecture · Polymorphism Patterns. Refine with filters or upvote what's useful.
This project is a collection of engineering guidelines and best practices for writing readable and maintainable JavaScript source code. It serves as a clean code guide and refactoring manual to help developers improve the structure of their codebases. The repository provides a reference for applying SOLID principles to reduce coupling and enable extensions without modifying existing logic. It includes a naming convention standard for using explicit, searchable identifiers and a guide for asynchronous patterns to replace nested callbacks with clearer execution flows. The guidelines cover soft
Demonstrates how to replace complex conditional logic with polymorphic object-oriented patterns.
Elixir is a functional, concurrent programming language designed for building scalable and maintainable applications. It operates on the Erlang virtual machine, leveraging a distributed, fault-tolerant runtime environment that manages lightweight processes to ensure system reliability. By utilizing an actor-model supervision strategy, the language enables the creation of high-concurrency backend systems that automatically recover from failures and maintain stability under heavy loads. The language distinguishes itself through a powerful metaprogramming environment that allows developers to ex
Implements flexible interface definitions that allow different data types to share common behaviors without requiring complex class hierarchies.
This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu
Provides unified interfaces that map to concrete native implementations across different operating systems.
This project is a PHP clean code guide and software architecture reference. It provides a set of standards, naming conventions, and design patterns intended to improve the long-term maintainability and readability of PHP codebases. The guide emphasizes a structured approach to refactoring and system design, focusing on the application of SOLID principles to reduce coupling and increase extensibility. It advocates for object-oriented design through the use of composition over inheritance, the use of final classes to prevent unexpected overrides, and the implementation of strict type declaratio
Demonstrates how to replace complex conditional blocks with polymorphic class implementations to reduce cognitive load.
Chameleon is a cross-platform application framework and component library used to develop applications for the web and various mini-app platforms from a single shared codebase. It functions as a multi-platform build pipeline that compiles source code into different target formats while providing an MVVM-based user interface system for managing application state. The framework employs a polymorphic protocol to extend custom components and APIs, allowing for platform-specific implementations while maintaining cross-end compatibility. It includes a specialized build tool for static analysis that
Employs a polymorphic protocol to map unified component and API interfaces to platform-specific implementations.
react-native-image-picker is a cross-platform mobile media picker used to select images and videos from a system gallery or capture new media via the device camera. It serves as a native device camera interface and a mobile gallery file picker for accessing local storage. The library includes a media metadata extractor to retrieve technical details from selected files, such as image dimensions, file size, video duration, and EXIF data. The project provides a bridge between JavaScript and native mobile operating systems to trigger system-provided gallery and camera interfaces. It handles the
Maintains platform-specific implementations for Android and iOS that map to a unified JavaScript interface.
This project is a graphics library for React Native that provides a cross-platform vector rendering engine. It maps SVG XML elements to native graphics APIs, allowing for the creation of scalable shapes and custom illustrations that maintain visual consistency across mobile and web environments. The library functions as a mapper that converts standard SVG markup into declarative component structures. It enables the creation of interactive vector interfaces by providing components that can detect and respond to user touch events. Its capability surface includes drawing basic geometric primiti
Renders vector data through different host implementations for mobile and web to ensure consistent visual output.
real-url is a multi-platform stream resolver and data extraction tool. It functions as a live streaming URL extractor that retrieves direct HLS and m3u8 stream addresses and a live chat data scraper for fetching real-time bullet-chat messages and metadata from various broadcasting platforms. The project converts platform-specific room identifiers into authenticated media playback links across dozens of services. It includes an HLS stream link parser capable of extracting secure media addresses and the signature tokens required for high-bitrate playback. The system manages stream quality by s
Implements unique extraction routines for different streaming services to handle varying API responses and formats.
isomorphic-fetch is a cross-runtime fetch API and isomorphic HTTP client that provides a standardized request interface across different JavaScript environments. It functions as a WHATWG fetch polyfill, ensuring that network request logic behaves identically in both web browsers and Node.js. The project enables universal JavaScript development by allowing a single codebase to perform HTTP requests without environment-specific code. It integrates the fetch interface into Node.js and supports application bundling for the browser.
Implements a unified interface that maps to platform-specific implementations to ensure WHATWG specification compliance.
This project is a technical breakdown and implementation of a user interface framework's internal architecture, focusing specifically on the mechanics of the virtual DOM, reconciliation, and component lifecycles. It serves as a resource for understanding how a core logic layer manages the transition from high-level component descriptions to physical browser elements. The project distinguishes itself by providing detailed visualizations, including flowcharts and block schemes, to map the reconciliation process and code execution paths. It explores how a platform-agnostic core can be adapted fo
Uses platform-specific injectors to map unified core logic to concrete environment implementations.
This is a cross-platform mobile device information library for iOS and Android applications. It provides utilities to retrieve hardware specifications, operating system details, and unique device identifiers. The project specializes in unique device identification by providing hardware, software, and installation IDs, serial numbers, and build fingerprints. It also includes environment detection to distinguish between physical devices, emulators, and tablets. The library covers a broad range of system introspection capabilities, including application metadata retrieval, hardware specificatio
Executes distinct source code paths for iOS and Android to access proprietary system APIs and identifiers.
This project is a cross-platform mobile device information library designed to retrieve hardware, software, and network specifications from iOS and Android devices. It serves as a tool for accessing unique device identifiers, hardware models, and processor architectures to distinguish individual mobile devices. The library provides specialized capabilities for mobile hardware identification and operating system metadata retrieval, including build numbers and API levels. It also functions as a system state monitor for real-time tracking of battery levels, charging status, and network connectiv
Implements unified interfaces that map to platform-specific Java and Objective-C code for accessing device details.
The Rust RFCs repository is the formal home for the Rust language evolution process, housing the structured design documents and community review mechanisms that govern changes to the Rust programming language, its compiler, and its standard library. It defines the complete lifecycle for proposing, discussing, and implementing substantial changes through RFC documents, from initial submission and community feedback through final comment periods and sub-team sign-offs. The repository codifies the governance and collaboration processes that shape Rust's development, including mechanisms for com
Documents the platform-specific symlink creation API in Rust's standard library.
react-native-image-crop-picker is a cross-platform mobile image picker for selecting, cropping, and capturing images and videos from a device gallery or camera. It serves as a bridge to access the mobile camera and photo library to upload media files into an application. The library provides integrated tools for media cropping and compression, allowing images to be resized to specific dimensions or aspect ratios. It supports a unified workflow where images can be cropped immediately during the selection process. Capability areas include camera media capture, gallery media selection for singl
Implements separate native logic in Swift, Objective-C, Java, and Kotlin to handle OS-specific media workflows.
SAMKeychain este un manager de keychain Objective-C care oferă o interfață programatică pentru a crea, citi și șterge credențiale securizate stocate în keychain-ul de sistem macOS și iOS. Acesta servește ca un wrapper ușor pentru gestionarea parolelor și a datelor sensibile pe platformele Apple. Proiectul oferă un API unificat care abstractizează diferențele de implementare între macOS și iOS. Acesta înfășoară API-urile C de nivel scăzut în clase Objective-C pentru a oferi o interfață orientată pe obiecte pentru interacțiunea cu daemon-ul de securitate al sistemului. Biblioteca acoperă stocarea securizată a credențialelor și controlul accesului, inclusiv capacitatea de a stoca, prelua și șterge parolele conturilor și token-urile de autentificare în stocare persistentă criptată.
Provides a unified API that abstracts the implementation differences between macOS and iOS keychain services.
sskeychain este o bibliotecă Objective-C care oferă o interfață de programare simplificată pentru gestionarea persistenței datelor securizate pe iOS și macOS. Aceasta servește ca un wrapper orientat pe obiecte pentru framework-ul Apple Security, permițând stocarea și preluarea parolelor și a credențialelor de cont. Biblioteca gestionează traducerea între API-urile de sistem de nivel scăzut și interfețele de obiecte de nivel înalt pentru a gestiona informațiile sensibile. Include mecanisme pentru definirea nivelurilor de accesibilitate ale elementelor din keychain pentru a controla când datele stocate sunt disponibile unei aplicații. Proiectul oferă o interfață partajată pentru gestionarea stocării criptate a credențialelor pe ambele platforme Apple, mobilă și desktop. Aceasta include suport pentru logica de interogare bazată pe atribute pentru a filtra și prelua elemente specifice din stocul de date al sistemului.
Provides a unified interface that maps to different keychain implementation details across iOS and macOS.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Maintains collections of values implementing specific interfaces for runtime polymorphic programming.
react-native-permissions este o bibliotecă de permisiuni cross-platform care oferă o interfață unificată pentru solicitarea și verificarea permisiunilor de sistem pe iOS, Android și Windows. Acesta funcționează ca un manager de stare a permisiunilor și auditor de capabilități ale dispozitivului pentru a determina dacă accesul la date sensibile sau hardware este acordat, refuzat sau blocat. Proiectul include un controler de acces media pentru a gestiona accesul limitat la fotografii și contacte prin intermediul selectorilor nativi ai sistemului. De asemenea, dispune de un integrator de setări de sistem care direcționează utilizatorii către paginile de setări ale dispozitivului pentru a activa sau dezactiva manual permisiunile aplicațiilor și notificărilor. Biblioteca acoperă o gamă largă de capabilități de control al accesului, inclusiv verificarea preciziei locației, gestionarea permisiunilor de notificare și capacitatea de a solicita utilizatorilor permisiuni cu justificări. Pe Android, oferă utilitare specifice pentru auditarea capabilităților sistemului, cum ar fi alarmele exacte și intent-urile pe tot ecranul.
Provides a unified interface that maps to platform-specific native implementations on iOS, Android, and Windows.
This project is a collection of instructional resources and curriculum materials designed to teach the Java language. It provides a structured programming course, a fundamentals guide, and an object-oriented programming tutorial, supported by a series of practical coding exercises and implementation challenges. The curriculum focuses on implementing object-oriented patterns, including inheritance, polymorphism, and abstraction. It covers the creation of classes, the use of interfaces to define behavioral contracts, and the application of access modifiers to control data visibility. The educa
Teaches how to manage different subclass instances through a single base type to invoke shared methods.
Reek este un analizor static de cod pentru proiecte Ruby, conceput pentru a identifica defectele de design și problemele de mentenabilitate cunoscute sub numele de "code smells". Funcționează ca un instrument de asigurare a calității care inspectează codul sursă fără a-l executa, pentru a găsi slăbiciuni structurale și datorii arhitecturale. Analizorul identifică tipare specifice, cum ar fi clasele prea mari, metodele lungi și denumirile neclare. De asemenea, detectează probleme de design mai complexe, inclusiv "feature envy", "data clumps", polimorfism simulat și "control coupling". Instrumentul include capabilități pentru stabilirea unei linii de bază (baselining) pentru gestionarea codului legacy și filtrarea bazată pe configurație pentru a exclude directoare specifice. Suportă verificări automate ale calității prin pipeline-uri de integrare continuă (CI) și oferă rapoarte de analiză în formate precum JSON, YAML, XML și HTML.
Identifies case statements and repetitive conditionals where polymorphism should replace manual dispatch.