8 个仓库
Architectural patterns for defining and extending software interfaces.
Distinguishing note: Focuses on developer-facing API structure.
Explore 8 awesome GitHub repositories matching software engineering & architecture · API Design Patterns. Refine with filters or upvote what's useful.
This project is a programmable, high-performance drawing engine designed for building collaborative whiteboards, diagramming tools, and infinite canvas applications. It provides a reactive graphics runtime that manages complex canvas interactions, viewport animations, and input handling through a unified signal-based API. The framework is built on a schema-driven data store that maintains application state in a strictly typed, centralized record system, enabling efficient UI updates and persistent data management. The engine distinguishes itself through a highly modular architecture that supp
Implements a type-safe pattern for defining custom shape and binding types.
This project is a comprehensive educational resource focused on the principles, patterns, and trade-offs required to design scalable, reliable, and high-performance distributed systems. It provides a structured curriculum that covers the fundamental architectural strategies necessary for building modern software infrastructure, ranging from high-level system decomposition to low-level networking and data management. The repository distinguishes itself by offering deep dives into complex architectural patterns, such as microservices-based decomposition, event-driven communication, and command-
Provides guidance on selecting communication protocols and integration patterns for backend services.
This project provides a comprehensive collection of standardized conventions and architectural patterns designed to maintain consistent code quality, secure workflows, and project stability. It serves as a structured guide for implementing engineering processes, including automated testing, dependency management, and environment configuration across diverse software development lifecycles. The framework distinguishes itself by offering a unified approach to version control and interface design. It enforces linear development practices through standardized commit messages and branch protection
Structures service interfaces around nouns and standard HTTP methods for predictable and scalable communication.
This project is a Python cryptography library that provides a collection of cryptographic primitives and high-level recipes for implementing secure encryption and authentication. It functions as a symmetric encryption toolkit and a cryptographic hash provider, offering both a low-level cryptographic interface for building custom protocols and high-level tools for securing data. The library covers a broad range of security capabilities, including symmetric data encryption, the derivation of cryptographic keys from passwords or secret values, and data integrity verification through the generati
Organizes functionality into low-level primitives and high-level recipes to prevent common implementation errors.
OpenTelemetry Go is a framework for generating and collecting distributed traces, metrics, and logs from Go applications. It provides a standardized telemetry instrumentation API for adding observability markers to code and a corresponding SDK for processing and emitting these signals. The project utilizes a configurable observability pipeline to sample and export telemetry data to external backends using the OTLP wire protocol. It features a pluggable export system and a separation between the public API and the SDK implementation, allowing telemetry to be routed to third-party platforms wit
Separates the public instrumentation API from the SDK implementation, allowing multiple SDKs to coexist behind the same interface.
本项目提供了一套全面的标准化设计模式、命名约定和 Objective-C 开发环境配置。它建立了一个一致的 API 设计、内存管理和项目组织框架,以确保代码库在团队中保持可读性和可维护性。 该指南定义了使用类前缀进行命名空间隔离的具体标准,以及用于命名资产的结构化系统。它概述了旨在提高类型安全性和清晰度的委托协议和错误处理机制的架构模式。 覆盖范围扩展到源代码格式化、类结构组织和线程安全单例的实现。它还包括 Xcode 项目配置标准,将物理文件层级与项目组对齐并管理构建设置。
Provides architectural patterns for designing developer-facing APIs, including delegate protocols and error handling.
这个 C++ 数据可视化库是一个科学绘图框架,用于创建 2D 和 3D 图表、网络图和地理地图。它作为一个多后端图形库运行,将高级绘图逻辑与低级渲染引擎解耦,以支持各种输出后端。 该项目以其双接口 API 脱颖而出,既提供用于快速原型的全局函数接口,也提供用于精确控制的面向对象接口。它具有一个用于管理平铺网格和子图的基于组件的布局引擎,以及一个允许在不清除坐标轴的情况下叠加多个数据系列的层级绘图状态。 该库涵盖了广泛的可视化功能,包括数学函数绘图、向量场,以及通过热力图和平行坐标进行的多维数据分析。它包括用于地理数据可视化的专用工具(如地理气泡图和地理密度图),以及用于渲染有向和无向图网络的工具。通用功能包括坐标轴管理、带有色图的美学样式,以及高质量图形的导出。 该项目利用 CMake 进行构建自动化和依赖检索,以促进在不同操作系统上的安装。
Provides a dual-interface API offering both a global functional approach for rapid prototyping and an object-oriented interface for granular control.
This project is a software engineering playbook providing a collection of standardized guidelines and processes for managing the full software development lifecycle and team operations. It serves as a high-level framework for organizing agile project management, API design, containerized development standards, and markdown documentation workflows. The framework establishes a system for language-agnostic API design to automate client library generation and documentation. It also defines standards for providing uniform contributor environments and toolchains through virtualized containers. The
Establishes language-agnostic patterns for defining HTTP service interfaces and automating client library generation.