9 个仓库
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.
该项目是一个 TypeScript 设计模式库和架构指南。它提供了一系列在 TypeScript 中实现的行业标准软件架构模式,以演示对象创建和通信。 该库作为应用面向对象设计原则的实用参考,利用静态类型在编译阶段强制执行这些模式的结构要求。 内容涵盖了创建型模式的实现(以解耦对象实例化与业务逻辑)、结构型模式(以将类和对象组织成更大的组合)以及行为型模式(以管理对象通信和责任分配)。
Demonstrates how to use shared contracts to allow interchangeable class implementations via polymorphism.
本项目是 Go 编程语言综合指南的中文翻译版。它作为一个本地化的教育资源和技术手册,旨在为语言语法、设计和软件开发提供指导。 该资源涵盖了广泛的 Go 语言教育内容,包括编程模式的实现和系统设计。它包含翻译后的课程和示例,重点关注并发和接口使用等核心语言特性。 内容跨越了多个能力领域,包括语言基础、数据建模、运行时反射和内存管理。它还详细介绍了软件架构、错误处理、质量保证和 Web 网络编程。 该文档结构为技术手册,包含翻译内容、勘误和修正,以确保学习的准确性。
Guides the implementation of interface-based polymorphism to treat different concrete types uniformly.
该项目是一个 C++ 设计模式库和编程参考。它提供了一系列在 C++ 中实现的结构型、创建型和行为型软件架构模式,作为组织类和对象的蓝图。 该库涵盖了用于对象实例化、通信和结构组织的标准模式的实现。它展示了行业标准设计模式的应用,通过面向对象的架构解决常见的软件设计问题。 代码库包括用于标准化对象创建的创建型模式、用于组织类关系的结构型模式,以及用于协调对象间通信和职责的行为型模式。
Provides implementations of abstract base classes and virtual methods to decouple logic from implementation.
TypeDB 是一款强类型图数据库和知识图谱管理系统。它作为多模型数据存储,将关系、文档和图结构统一到一个环境中,既充当 ACID 兼容数据库,又充当声明式查询引擎。 该系统通过使用 n 元超图建模和多态类型层级脱颖而出。它采用强类型模式来强制执行结构规则并验证数据完整性,允许在查询执行期间自动解析复杂关系的基于类型的多态推理和基于角色的接口多态性。 该平台涵盖了广泛的功能,包括通过制表(tabling)计算递归关系、快照隔离事务和声明式数据检索。它还通过基于共识的集群复制、基于角色的访问控制以及与 AI 代理的集成以进行结构化数据检索,支持高可用性。 管理通过命令行界面支持,系统提供用于可视化图模式和审计管理活动的工具。
Implements role-based interface polymorphism to allow different entity types to be used interchangeably within a single relation role.
这是一个技术编程指南和教育资源,专注于 Go 内部机制、运行时机制和高级语言特性。它提供了对该语言执行模型的详细概念分析,包括其调度器、内存逃逸分析和垃圾回收机制。 该材料通过对高并发系统设计的深入探讨而脱颖而出,探索了工作池和通信通道的实现。它还涵盖了低级网络编程,重点是 I/O 多路复用和 TCP 状态管理,以及应用 CAP 和 BASE 定理到可扩展服务的分布式系统理论研究。 范围扩展到通过 CPU 和内存分析进行性能优化、模块依赖管理和完整性验证,以及依赖倒置等软件架构原则的应用。它进一步检查了类型系统的多态行为和自动化内存管理的内部机制。
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.
该仓库是一套用 Go 实现的基础数据结构和经典算法集合,专为教育学习和技术技能发展而设计。它提供了一个全面的标准存储原语和计算过程库,旨在演示高效的数据组织和逻辑。 该项目的特色在于专注于核心设计原则,利用语言级的类型参数和基于接口的多态性来维护类型安全和模块化。实现依赖于迭代逻辑和通过指针进行的直接内存管理,优先考虑结构效率以及清晰、可维护的代码组织。 该库涵盖了广泛的基础计算机科学主题,包括各种搜索、排序和字符串模式匹配技术。这些实现作为分析性能、练习算法模式以及准备技术评估的资源。
Employs interface-based polymorphism to allow interchangeable algorithm implementations.