awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoServidor MCPAcerca deCómo clasificamosPrensa
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

17 repositorios

Awesome GitHub RepositoriesResource Abstraction Interfaces

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.

Awesome Resource Abstraction Interfaces GitHub Repositories

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • spring-projects/spring-frameworkAvatar de spring-projects

    spring-projects/spring-framework

    60,056Ver en GitHub↗

    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.

    Javaframeworkspringspring-framework
    Ver en GitHub↗60,056
  • alibaba/easyexcelAvatar de alibaba

    alibaba/easyexcel

    33,703Ver en GitHub↗

    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.

    Javaexceljavajxl
    Ver en GitHub↗33,703
  • puerkitobio/goqueryAvatar de PuerkitoBio

    PuerkitoBio/goquery

    14,958Ver en GitHub↗

    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.

    Gogoqueryhtml-parsingjquery
    Ver en GitHub↗14,958
  • phpoffice/phpspreadsheetAvatar de PHPOffice

    PHPOffice/PhpSpreadsheet

    13,932Ver en GitHub↗

    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.

    PHP
    Ver en GitHub↗13,932
  • spartnernl/laravel-excelAvatar de SpartnerNL

    SpartnerNL/Laravel-Excel

    12,669Ver en GitHub↗

    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.

    PHPcsvlaravellaravel-5-package
    Ver en GitHub↗12,669
  • phpoffice/phpexcelAvatar de PHPOffice

    PHPOffice/PHPExcel

    11,379Ver en GitHub↗

    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.

    PHP
    Ver en GitHub↗11,379
  • google/go-cloudAvatar de google

    google/go-cloud

    9,891Ver en GitHub↗

    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.

    Go
    Ver en GitHub↗9,891
  • shimat/opencvsharpAvatar de shimat

    shimat/opencvsharp

    6,011Ver en GitHub↗

    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.

    C#computer-visiondotnetdotnetstandard
    Ver en GitHub↗6,011
  • jbeder/yaml-cppAvatar de jbeder

    jbeder/yaml-cpp

    5,931Ver en GitHub↗

    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.

    C++
    Ver en GitHub↗5,931
  • leethomason/tinyxml2Avatar de leethomason

    leethomason/tinyxml2

    5,771Ver en GitHub↗

    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.

    C++
    Ver en GitHub↗5,771
  • closedxml/closedxmlAvatar de ClosedXML

    ClosedXML/ClosedXML

    5,630Ver en GitHub↗

    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.

    C#closedxmlexcelhacktoberfest
    Ver en GitHub↗5,630
  • nvim-neo-tree/neo-tree.nvimAvatar de nvim-neo-tree

    nvim-neo-tree/neo-tree.nvim

    5,247Ver en GitHub↗

    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.

    Luafile-explorerluaneovim
    Ver en GitHub↗5,247
  • zeux/pugixmlAvatar de zeux

    zeux/pugixml

    4,590Ver en GitHub↗

    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.

    C++
    Ver en GitHub↗4,590
  • dioxuslabs/taffyAvatar de DioxusLabs

    DioxusLabs/taffy

    2,972Ver en GitHub↗

    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.

    Rustcss-gridflexboxhacktoberfest
    Ver en GitHub↗2,972
  • russhwolf/multiplatform-settingsAvatar de russhwolf

    russhwolf/multiplatform-settings

    2,234Ver en GitHub↗

    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.

    Kotlinkotlinkotlin-androidkotlin-ios
    Ver en GitHub↗2,234
  • level/levelAvatar de Level

    Level/level

    1,675Ver en GitHub↗

    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.

    JavaScriptabstract-levelbrowserselectron
    Ver en GitHub↗1,675
  • amanjeetsingh150/kotlin-android-examplesAvatar de amanjeetsingh150

    amanjeetsingh150/kotlin-android-examples

    1,058Ver en GitHub↗

    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.

    Kotlinandroidandroid-applicationandroid-development
    Ver en GitHub↗1,058
  1. Home
  2. Software Engineering & Architecture
  3. Resource Abstraction Interfaces

Explorar subetiquetas

  • Network Service AbstractionsDefines remote service endpoints as strongly-typed interfaces for automated data mapping. **Distinct from Resource Abstraction Interfaces:** Distinct from Resource Abstraction Interfaces: specifically targets network service endpoint definitions rather than general storage mechanisms.
  • Spreadsheet Parsers1 sub-etiquetaUnified interfaces for parsing diverse spreadsheet file formats into a common internal memory model. **Distinct from Resource Abstraction Interfaces:** Specializes resource abstraction specifically for spreadsheet file parsing, unlike generic data sources.
  • Tree Node Abstractions2 sub-etiquetasUnified interfaces that wrap diverse data sources into a common format for tree-based visualization. **Distinct from Resource Abstraction Interfaces:** Focuses on unifying filesystem, buffer, and git status data for a UI tree, rather than physical storage decoupling.