17 repositorios
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 es un kit de herramientas de bibliotecas agnósticas a la nube que proporcionan interfaces portátiles en Go para interactuar con servicios comunes en la nube. Permite el desarrollo de aplicaciones multi-cloud al desacoplar la lógica de negocio de las implementaciones de API de proveedores específicos. El proyecto utiliza un sistema basado en drivers para mapear llamadas de interfaz genéricas a solicitudes específicas del proveedor. Esto permite a las aplicaciones cambiar entre diferentes backends de nube para almacenamiento de blobs, bases de datos relacionales y mensajería asíncrona de publicación-suscripción sin cambiar el código central de la aplicación. Más allá del almacenamiento y la mensajería, el kit de herramientas incluye un gestor para rastrear y actualizar variables de configuración dinámicas en tiempo de ejecución sin requerir el reinicio del proceso. También proporciona una capa de observabilidad estandarizada para trazado distribuido, registro de solicitudes y verificación de estado.
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 es una librería C++ ligera para analizar, manipular y generar documentos XML. Funciona como un procesador XML UTF-8 que representa los datos a través de un Document Object Model (DOM) jerárquico. La librería proporciona herramientas tanto para el análisis DOM como para la generación directa de documentos a través de flujos de datos. Incluye capacidades para navegar por el árbol XML para localizar elementos específicos, modificar atributos y contenido, y resolver entidades de caracteres y referencias numéricas Unicode en texto UTF-8. El procesador incluye validación de sintaxis y utilidades de diagnóstico que rastrean metadatos de número de línea para cada nodo y atributo para informar coordenadas precisas de errores de análisis.
Allows for finding specific text values or attributes by navigating the XML document's tree structure.
ClosedXML es una biblioteca de hojas de cálculo .NET de código abierto utilizada para leer y escribir archivos de Excel. Proporciona una interfaz orientada a objetos para manipular estructuras de libros de trabajo y datos de celdas dentro de archivos .xlsx y .xlsm utilizando el estándar OpenXML. La biblioteca abstrae la complejidad del SDK de OpenXML, permitiendo a los desarrolladores generar y modificar hojas de cálculo programáticamente sin requerir que Microsoft Office esté instalado en el sistema. Cubre una gama de capacidades de gestión de hojas de cálculo, incluyendo la generación de libros de trabajo, carga de archivos y extracción de datos. El conjunto de herramientas admite actualizaciones programáticas de diseños de hojas de cálculo y la creación de informes formateados a partir de datos de la aplicación.
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 es un analizador XML de C++ ligero y una biblioteca basada en DOM utilizada para analizar, manipular y guardar documentos XML. Proporciona un conjunto de herramientas portátil para leer datos XML de archivos, cadenas o búferes de memoria y convertirlos en un modelo de objetos de documento en memoria. La biblioteca incluye un motor XPath 1.0 dedicado para extraer nodos y datos específicos a través de expresiones de ruta. Se distingue por su gestión de memoria personalizable, permitiendo que las operaciones de heap se redirijan a funciones de asignación definidas por el usuario, y la capacidad de realizar análisis de búfer in-place para reducir las asignaciones de memoria. Su superficie de capacidades cubre la manipulación de datos XML, como insertar o eliminar nodos y atributos, y la serialización de documentos para exportar datos estructurados a flujos o archivos. El proyecto también proporciona mecanismos para el recorrido del árbol a través de iteradores y objetos walker, así como una interfaz de escritura para redirigir destinos de salida.
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.