17 个仓库
Unified interfaces that decouple application logic from specific physical storage mechanisms.
Distinct from Resource-Based Architectures: Candidates focus on cloud resource pooling or AI agents; this is a general-purpose resource abstraction for data sources.
Explore 17 awesome GitHub repositories matching software engineering & architecture · Resource Abstraction Interfaces. Refine with filters or upvote what's useful.
Spring Framework is an enterprise Java framework providing a comprehensive infrastructure for building server-side applications. It functions as a dependency injection container and a Java application framework designed to support scalable backend development through modular architecture. The project provides tools for aspect-oriented programming to intercept method calls using dynamic proxies, allowing the application of cross-cutting concerns such as security and transactions. It also includes a centralized system for managing object lifecycles and coordinating component wiring by injecting
Decouples application logic from physical storage by wrapping diverse data sources in a unified interface.
EasyExcel is a Java processing library designed for reading and writing XLS, XLSX, and CSV files. It functions as a memory-efficient spreadsheet parser, an object-relational mapper that binds spreadsheet columns to Java class fields, and a stream-based exporter for handling high-volume data. The library distinguishes itself through a streaming model that processes large files row-by-row via listeners to prevent heap memory overflow. It also operates as a template engine, allowing the population of predefined spreadsheet files with dynamic data while preserving original layouts and styles. Br
Processes large spreadsheet files row-by-row via listeners to prevent Java heap memory overflow.
goquery is a Go HTML parsing library and CSS selector engine used to isolate and retrieve specific text or attributes from HTML documents. It functions as an HTML DOM manipulator that converts raw HTML strings into a structured tree for programmatic navigation and search. The library provides a fluent interface for chaining selection and filtering operations and utilizes a wrapper-based abstraction to simplify data extraction and manipulation of nodes. It employs an iterator-based processing mechanism to apply operations to every node within a matched selection. Its primary capabilities cove
Uses a wrapper-based abstraction to simplify the extraction of data from low-level parser nodes.
PhpSpreadsheet is a PHP library used for reading and writing spreadsheet files across various formats. It functions as a spreadsheet file generator and an Excel file parser, allowing for the programmatic creation and manipulation of documents compatible with software such as Microsoft Excel and LibreOffice Calc. The library provides capabilities for programmatic spreadsheet generation and data extraction, enabling the conversion of data from spreadsheet files into programmable PHP formats. It also facilitates cross-format spreadsheet conversion, allowing data to be moved between different sta
Provides a standardized abstract reader interface to parse various spreadsheet formats into a consistent memory model.
This is a Laravel Excel integration library used for importing and exporting spreadsheet files within the Laravel framework. It functions as both a spreadsheet data exporter for converting database queries and collections into files and a spreadsheet data importer for mapping workbook data to database models. The library includes an HTML to spreadsheet converter that transforms HTML table templates into downloadable documents to preserve specific layout designs. It supports large dataset exports via background queuing and processes bulk data imports through chunked reading and batch inserts.
Provides a common API layer that maps high-level methods to various spreadsheet library implementations.
PHPExcel is a PHP spreadsheet library used for programmatically reading and writing spreadsheet files in various formats. It utilizes an in-memory spreadsheet model that maps spreadsheet structures to a hierarchy of objects for programmatic manipulation. The library functions as an Office Open XML processor for generating and manipulating XLSX documents and serves as a reader for extracting data and structure from legacy binary XLS files. It also includes tools for CSV data integration and importing. The project provides capabilities for automated report generation and spreadsheet data extra
Provides an architectural abstraction layer that decouples spreadsheet operations from specific file format implementations.
go-cloud 是一个云无关的工具包,提供用于与常见云服务交互的可移植 Go 接口。它通过将业务逻辑与特定的提供商 API 实现解耦,实现了多云应用程序开发。 该项目利用基于驱动程序的系统将通用接口调用映射到特定供应商的请求。这允许应用程序在不同的云后端(如 Blob 存储、关系型数据库和异步发布-订阅消息)之间切换,而无需更改核心应用程序代码。 除了存储和消息传递,该工具包还包含一个管理器,用于在运行时跟踪和更新动态配置变量,而无需重启进程。它还为分布式追踪、请求日志记录和健康检查提供了标准化的可观测性层。
Defines unified Go interfaces that decouple business logic from specific cloud resource implementations.
OpenCVSharp is a .NET library that wraps native OpenCV functions, providing C# developers with access to OpenCV's computer vision capabilities through an API that mirrors the native C/C++ style. It serves as a managed wrapper for image processing, feature detection, object detection, and image manipulation tasks, while also handling automatic disposal of unmanaged OpenCV resources like Mat objects to prevent memory leaks in .NET applications. The library enables keypoint detection and descriptor extraction using algorithms such as AKAZE, BRISK, or FAST, with brute-force or FLANN-based matchin
Navigates and reads data from XML or YAML file nodes in a tree structure.
yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing pipeline, from reading YAML content into a traversable node tree to writing in-memory data structures back as YAML text. The library represents parsed YAML as a mutable tree of typed nodes, supporting scalars, sequences, maps, and aliases. It uses a recursive-descent parser to build this node tree, and a stream-based emitter to generate YAML output incrementally. Template-based type conversion enables compile-time serialization between YAML nodes and C++ types, including support for c
Builds, inspects, and modifies hierarchical YAML structures using sequences, maps, and scalars.
TinyXML-2 是一个轻量级的 C++ 库,用于解析、操作和生成 XML 文档。它作为一个 UTF-8 XML 处理器,通过分层的文档对象模型(DOM)表示数据。 该库提供了用于 DOM 解析和通过数据流直接生成文档的工具。它包括导航 XML 树以定位特定元素、修改属性和内容,以及将字符实体和 Unicode 数字引用解析为 UTF-8 文本的功能。 该处理器包括语法验证和诊断实用程序,可跟踪每个节点和属性的行号元数据,从而报告解析错误的精确坐标。
Allows for finding specific text values or attributes by navigating the XML document's tree structure.
ClosedXML 是一个开源的 .NET 电子表格库和包装器,用于读取和写入 Excel 文件。它提供了一个面向对象的接口,用于使用 OpenXML 标准操作 .xlsx 和 .xlsm 文件中的工作簿结构和单元格数据。 该库抽象了 OpenXML SDK 的复杂性,允许开发者以编程方式生成和修改电子表格,而无需在系统上安装 Microsoft Office。 它涵盖了一系列电子表格管理功能,包括工作簿生成、文件加载和数据提取。该工具集支持对电子表格布局进行编程更新,并从应用数据创建格式化的报告。
Acts as an abstraction layer that decouples high-level spreadsheet operations from the underlying OpenXML SDK.
Neo-tree is an extensible UI component for Neovim that functions as a file explorer, project resource manager, and git status browser. It provides a tree-based interface for navigating filesystems, managing open buffers, and organizing document symbols within a side panel. The project is designed as a customizable framework that allows for the integration of external data sources and the implementation of user-defined event handlers. It supports custom tree visuals and component rendering, enabling the display of metadata, custom icons, and third-party plugin data within the tree view. Capab
Implements an abstract node interface to unify different data sources like buffers and git status for the tree view.
pugixml 是一个轻量级的 C++ XML 解析器和基于 DOM 的库,用于解析、操作和保存 XML 文档。它提供了一个便携式工具集,用于从文件、字符串或内存缓冲区读取 XML 数据,并将其转换为内存中的文档对象模型。 该库包含一个专用的 XPath 1.0 引擎,用于通过路径表达式提取特定节点和数据。它通过可定制的内存管理脱颖而出,允许将堆操作重定向到用户定义的分配函数,并能够执行就地缓冲区解析以减少内存分配。 其功能涵盖 XML 数据操作(如插入或删除节点和属性),以及用于将结构化数据导出到流或文件的文档序列化。该项目还提供通过迭代器和 Walker 对象进行树遍历的机制,以及用于重定向输出目标的 Writer 接口。
Iterates through child nodes and attributes using a sequential iterator mechanism.
Taffy is a layout engine that calculates the size and position of user interface components. It is a language-agnostic tool that computes element geometry using Flexbox and Grid algorithms. The engine operates on custom tree structures and node storage through a trait-based interface. This design allows it to be integrated into various programming languages and custom memory management systems. The system handles UI layout computation, including leaf node measurement and floating point pixel snapping to prevent blurring on displays. It utilizes layout result caching to avoid redundant calcul
Provides a trait-based interface that abstracts node storage, allowing for custom tree implementations.
Multiplatform Settings is a configuration management library that provides a unified interface for key-value data persistence across Kotlin Multiplatform projects. It abstracts native storage mechanisms, allowing developers to manage application settings and user preferences consistently across Android, iOS, and desktop environments. The library distinguishes itself by supporting the serialization of complex objects, enabling the storage of non-primitive data structures directly within the settings store. It incorporates reactive patterns to facilitate real-time data observation, ensuring tha
Provides a unified interface that decouples application logic from platform-specific storage implementations.
Level is a database library that provides a unified interface for managing sorted key-value data. It functions as an abstraction layer that allows applications to store and retrieve binary information consistently across server-side environments and web browsers. The project utilizes a modular architecture that supports pluggable storage backends, enabling the system to adapt to different host environments while maintaining identical behavior. By organizing data in lexicographical order, it facilitates efficient range queries and ordered retrieval. The library handles large datasets through a
Provides a unified interface that decouples database operations from underlying storage engines to ensure consistent behavior across environments.
This repository provides a comprehensive collection of functional code samples designed to demonstrate modern development patterns and architectural practices for the Android platform using Kotlin. It serves as a practical guide for implementing standard design patterns that decouple business logic from user interface components, ensuring that applications remain maintainable and testable. The project distinguishes itself by offering isolated, hands-on implementations of complex mobile programming tasks. It covers a wide range of capabilities, including asynchronous networking, local database
Defines remote service endpoints as strongly-typed interfaces to automatically map structured data responses into local objects.