17 Repos
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 is a toolkit of cloud-agnostic libraries that provide portable Go interfaces for interacting with common cloud services. It enables multi-cloud application development by decoupling business logic from specific provider API implementations. The project utilizes a driver-based system to map generic interface calls to vendor-specific requests. This allows applications to switch between different cloud backends for blob storage, relational databases, and asynchronous publish-subscribe messaging without changing the core application code. Beyond storage and messaging, the toolkit includ
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 ist eine leichtgewichtige C++-Bibliothek zum Parsen, Manipulieren und Generieren von XML-Dokumenten. Sie fungiert als UTF-8-XML-Prozessor, der Daten durch ein hierarchisches Document Object Model repräsentiert. Die Bibliothek bietet Tools sowohl für das DOM-Parsing als auch für die direkte Dokumentengenerierung über Datenströme. Sie umfasst Funktionen zum Navigieren im XML-Baum, um spezifische Elemente zu lokalisieren, Attribute und Inhalte zu modifizieren sowie Zeichenentitäten und numerische Unicode-Referenzen in UTF-8-Text aufzulösen. Der Prozessor enthält Syntaxvalidierungs- und Diagnosetools, die Zeilennummern-Metadaten für jeden Knoten und jedes Attribut nachverfolgen, um präzise Koordinaten für Parsing-Fehler zu melden.
Allows for finding specific text values or attributes by navigating the XML document's tree structure.
ClosedXML is an open-source .NET spreadsheet library and wrapper used for reading and writing Excel files. It provides an object-oriented interface for manipulating workbook structures and cell data within .xlsx and .xlsm files using the OpenXML standard. The library abstracts the complexity of the OpenXML SDK, allowing developers to generate and modify spreadsheets programmatically without requiring Microsoft Office to be installed on the system. It covers a range of spreadsheet management capabilities, including workbook generation, file loading, and data extraction. The toolset supports p
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 ist ein leichtgewichtiger C++-XML-Parser und eine DOM-basierte Bibliothek, die zum Parsen, Manipulieren und Speichern von XML-Dokumenten verwendet wird. Sie bietet ein portables Toolset zum Lesen von XML-Daten aus Dateien, Strings oder Speicherpuffern und deren Konvertierung in ein In-Memory-Dokumentobjektmodell. Die Bibliothek enthält eine dedizierte XPath-1.0-Engine zur Extraktion spezifischer Knoten und Daten durch Pfadausdrücke. Sie zeichnet sich durch anpassbares Speichermanagement aus, das es ermöglicht, Heap-Operationen auf benutzerdefinierte Allokationsfunktionen umzuleiten, sowie durch die Fähigkeit, In-Place-Puffer-Parsing durchzuführen, um Speicherallokationen zu reduzieren. Der Funktionsumfang deckt XML-Datenmanipulation ab, wie etwa das Einfügen oder Entfernen von Knoten und Attributen, sowie die Dokument-Serialisierung zum Exportieren strukturierter Daten in Streams oder Dateien. Das Projekt bietet zudem Mechanismen für die Baum-Traversierung mittels Iteratoren und Walker-Objekten sowie eine Writer-Schnittstelle zur Umleitung von Ausgabezielen.
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.