awesome-repositories.com
Blog
awesome-repositories.com

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

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

18 repositorios

Awesome GitHub RepositoriesAdapter Patterns

Design patterns used to wrap existing classes to provide compatible interfaces.

Distinct from Adapters: Focuses on the software design pattern for interface compatibility, not UI or chat interfaces.

Explore 18 awesome GitHub repositories matching software engineering & architecture · Adapter Patterns. Refine with filters or upvote what's useful.

Awesome Adapter Patterns GitHub Repositories

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • faif/python-patternsAvatar de faif

    faif/python-patterns

    42,801Ver en GitHub↗

    This project is a comprehensive collection of software design patterns implemented in Python. It serves as a reference for architectural, behavioral, creational, and structural patterns to guide the organization of Python applications. The collection covers behavioral strategies for managing object communication and state, creational techniques for controlling object instantiation, and structural methods for composing classes and objects into flexible hierarchies. It also includes architectural references for system-wide structuring, such as multi-tier architectures and blackboard models. Th

    Implements the adapter pattern to allow objects with incompatible interfaces to collaborate.

    Pythondesign-patternsidiomspython
    Ver en GitHub↗42,801
  • domnikl/designpatternsphpAvatar de domnikl

    domnikl/DesignPatternsPHP

    22,188Ver en GitHub↗

    DesignPatternsPHP is a reference collection of software architecture patterns implemented in PHP 8. It provides a guide for object-oriented programming through sample code demonstrating creational, structural, and behavioral design patterns. The project includes reference implementations for common patterns such as factories, builders, singletons, adapters, bridges, and proxies. Each implementation is accompanied by a PHPUnit test suite to verify that the patterns behave correctly and produce expected logical outcomes. The codebase covers a broad range of architecture capabilities, including

    Implements adapter patterns to wrap incompatible classes and translate interfaces without modifying source code.

    PHP
    Ver en GitHub↗22,188
  • jack-cherish/python-spiderAvatar de Jack-Cherish

    Jack-Cherish/python-spider

    19,660Ver en GitHub↗

    This is a collection of Python scripts designed for extracting data from popular Chinese websites and mobile applications. It functions as a multi-platform data extraction toolkit, capable of automating tasks such as downloading videos from platforms like Bilibili and Douyin, scraping product reviews and images from e-commerce sites like Taobao and JD.com, and booking train tickets on the 12306 railway system. The project distinguishes itself through its focus on automating specific, high-value tasks within the Chinese internet ecosystem. It includes capabilities for solving Chinese CAPTCHA c

    Provides a unified interface for downloading media and content from multiple Chinese platforms.

    Pythonpythonpython-spiderpython3
    Ver en GitHub↗19,660
  • gyoogle/tech-interview-for-developerAvatar de gyoogle

    gyoogle/tech-interview-for-developer

    17,417Ver en GitHub↗

    This project is a comprehensive technical interview preparation resource and computer science interview guide. It serves as an educational reference for developers to study core software engineering fundamentals and common coding patterns required for employment screenings. The repository provides detailed guides and references covering data structures and algorithms, networking and security, operating systems, and web development. It specifically focuses on the implementation and complexity analysis of sorting, searching, and graph algorithms. The material encompasses a wide breadth of comp

    Implements the Adapter pattern using wrapper classes to enable compatibility between incompatible interfaces.

    Javaalgorithmcomputer-sciencecs
    Ver en GitHub↗17,417
  • howdyai/botkitAvatar de howdyai

    howdyai/botkit

    11,585Ver en GitHub↗

    Botkit is a multi-platform chatbot framework designed to build conversational bots that operate across different messaging services using a unified interface. It provides a core system for multi-platform development, utilizing a platform adaptation layer to translate service-specific API payloads into a standardized internal format. The framework features a conversational dialog manager that coordinates multi-turn interactions through state-tracking, branching logic, and scripted flows. It employs a message processing middleware pipeline to intercept, normalize, and enrich incoming and outgoi

    Provides a specialized adapter to abstract the Google Hangouts API for multi-platform bot connectivity.

    TypeScriptbotbot-applicationbotkit
    Ver en GitHub↗11,585
  • pennersr/django-allauthAvatar de pennersr

    pennersr/django-allauth

    10,342Ver en GitHub↗

    django-allauth is a comprehensive authentication framework for Django applications that manages user registration, account ownership verification, and secure login processes. It provides a system for handling the entire user account lifecycle, including the ability to define custom signup fields and implement identity verification. The project distinguishes itself by providing a suite of OAuth and SAML integrations for social account authentication and the capability to act as an OpenID Connect identity provider. It further supports decoupled architectures through a token-based headless authe

    Implements an adapter pattern to allow developers to override default authentication and sign-in behaviors.

    Pythonaccountsauthenticationdjango
    Ver en GitHub↗10,342
  • nonebot/nonebot2Avatar de nonebot

    nonebot/nonebot2

    7,582Ver en GitHub↗

    Nonebot2 is an asynchronous Python framework for building event-driven chatbots across multiple messaging platforms. It centers on a non-blocking event bus and a driver-based adapter system that unifies different messaging protocols into a single consistent interface. The framework utilizes a modular plugin architecture, allowing for the discovery and loading of third-party extensions to add new event handlers and system capabilities. It distinguishes itself with a type-annotation based dependency injection system that automatically resolves and provides required service objects to handlers a

    Provides a driver-based adapter system that unifies different messaging protocols into a single consistent interface.

    Pythonbotchatbotcqhttp
    Ver en GitHub↗7,582
  • alexreisner/geocoderAvatar de alexreisner

    alexreisner/geocoder

    6,446Ver en GitHub↗

    This is a Ruby toolkit for converting addresses to geographic coordinates and performing reverse geocoding via multiple external API providers. It provides a library for integrating location services into Ruby applications, including an IP geolocation tool to translate IP addresses into coordinates, city names, and country data. The project includes a command line interface for bulk geocoding of database records with integrated rate limiting and a geospatial query engine for calculating distances and performing radius or bounding box searches. It also features a mocking framework that provide

    Implements the adapter pattern to standardize diverse external geocoding APIs into a single unified interface.

    Ruby
    Ver en GitHub↗6,446
  • thephpleague/omnipayAvatar de thephpleague

    thephpleague/omnipay

    6,053Ver en GitHub↗

    Omnipay es una librería de pasarela de pago PHP y framework de integración que abstrae múltiples proveedores de servicios de pago en una única API consistente. Proporciona una interfaz estandarizada para gestionar ciclos de vida de pago, permitiendo a las aplicaciones ejecutar autorizaciones, capturas y reembolsos a través de varios servicios financieros sin reescribir código para cada proveedor. El framework desacopla la lógica de la aplicación de los SDKs específicos del proveedor utilizando un patrón de adaptador y objetos de transferencia de datos. Esta arquitectura garantiza que las respuestas crudas de la pasarela y las solicitudes HTTP se conviertan en formas de datos predecibles, mientras que un cambio de entorno basado en configuración permite a los desarrolladores alternar entre endpoints de sandbox y API en vivo para probar flujos de transacciones. La librería cubre una amplia gama de capacidades de procesamiento de pagos, incluyendo tokenización de tarjetas de crédito para facturación recurrente y la validación de números de tarjeta utilizando el algoritmo de Luhn. Maneja la coordinación de ciclos de vida de transacciones, incluyendo la gestión de redirecciones fuera del sitio y el procesamiento de notificaciones de pasarela asíncronas mediante webhooks. La funcionalidad adicional incluye herramientas para personalizar payloads de solicitud con parámetros arbitrarios y transmitir datos detallados de partidas a las pasarelas de pago.

    Implements the adapter pattern to wrap provider-specific APIs into a consistent internal format.

    PHP
    Ver en GitHub↗6,053
  • dbacinski/design-patterns-in-kotlinAvatar de dbacinski

    dbacinski/Design-Patterns-In-Kotlin

    5,998Ver en GitHub↗

    Este proyecto es una colección de referencia de ejemplos prácticos que demuestran la implementación de patrones de diseño de software comunes en Kotlin. Sirve como guía para las mejores prácticas arquitectónicas y principios orientados a objetos mediante la aplicación de patrones de comportamiento, creacionales y estructurales. La colección proporciona implementaciones concretas para demostrar cómo desacoplar la instanciación de objetos, gestionar la comunicación y responsabilidad entre objetos, y organizar relaciones complejas entre clases y objetos. La referencia cubre patrones creacionales como fábricas y constructores (builders), patrones estructurales incluyendo adaptadores y composites, y patrones de comportamiento como observadores y estrategias.

    Implements the Adapter pattern to enable communication between incompatible interfaces.

    Kotlin
    Ver en GitHub↗5,998
  • koishijs/koishiAvatar de koishijs

    koishijs/koishi

    5,456Ver en GitHub↗

    Koishi is an open-source framework for building multi-platform chatbots, designed around an adapter-driven architecture that lets a single bot connect to multiple messaging services with consistent logic. It provides a plugin-based development platform with hot reload support, enabling developers to write and update bot extensions using TypeScript without restarting the application. A web-based management console offers a graphical interface for configuring plugins, commands, permissions, and monitoring runtime status. What distinguishes Koishi is its combination of a dynamic plugin lifecycle

    Connects to multiple chat platforms by abstracting each platform's API behind a common adapter interface.

    TypeScriptbotchatbotdiscord
    Ver en GitHub↗5,456
  • solidusio/solidusAvatar de solidusio

    solidusio/solidus

    5,306Ver en GitHub↗

    Solidus es un framework de comercio electrónico de código abierto y motor extensible diseñado para gestionar catálogos de productos, carritos de compra y procesamiento de pedidos. Funciona como un sistema de gestión de tiendas modular y un backend de comercio con API REST, permitiendo la integración de datos de la tienda con frontends personalizados y servicios externos para el comercio headless. El sistema se distingue por una arquitectura de extensión basada en plugins y un sistema de extensión de modelos basado en atributos, que permiten la adición de funcionalidades de negocio especializadas y campos de datos personalizados. Utiliza una máquina de estados para el procesamiento de pedidos para mover las compras a través de etapas predefinidas y emplea gestión de sesiones basada en tokens para mantener el estado del carrito tanto para invitados como para compradores autenticados. La plataforma cubre una amplia gama de operaciones comerciales, incluyendo flujos de trabajo de pago digital, procesamiento de pagos y selección de métodos de envío. Proporciona una interfaz administrativa de backend para la gestión de operaciones de la tienda, configuración de preferencias globales y alojamiento de activos de productos. La gestión de identidad se maneja a través de perfiles de usuario autenticados y soporte para integración de autenticación personalizada.

    Supports connecting custom user models to internal identity management and user-specific data logic.

    Rubyecommerceecommerce-frameworkecommerce-platform
    Ver en GitHub↗5,306
  • youlookwhat/designpatternAvatar de youlookwhat

    youlookwhat/DesignPattern

    5,115Ver en GitHub↗

    Este proyecto es una librería integral de veintitrés patrones de diseño de software estándar implementados en Java. Sirve como un recurso educativo que mapea conceptos arquitectónicos teóricos a código orientado a objetos práctico. La librería organiza estos patrones en tres categorías principales: patrones creacionales para gestionar la instanciación de objetos, patrones estructurales para organizar las relaciones entre clases y objetos, y patrones de comportamiento para coordinar la comunicación y responsabilidad entre objetos. La implementación proporciona ejemplos de clases concretas para una amplia gama de patrones estándar de la industria, incluyendo los patrones Singleton, Factory y Builder para la creación; los patrones Adapter, Facade y Proxy para la estructura; y los patrones Strategy, Observer y Command para el comportamiento.

    Implements the Adapter pattern to allow incompatible interfaces to work together seamlessly.

    Javadesignpatterndesignpatternsjava
    Ver en GitHub↗5,115
  • sohamkamani/javascript-design-patterns-for-humansAvatar de sohamkamani

    sohamkamani/javascript-design-patterns-for-humans

    4,481Ver en GitHub↗

    This project is a collection of simplified explanations and code implementations for common software design patterns using JavaScript. It serves as a guide for implementing creational, structural, and behavioral design patterns to solve software architecture problems. The resource categorizes patterns into three primary groups. Creational patterns focus on flexible object instantiation and resource management. Structural patterns organize object relationships and interfaces to form efficient structures. Behavioral patterns manage communication and interaction between objects. The material co

    Provides an implementation of the Adapter pattern to make incompatible interfaces compatible.

    Ver en GitHub↗4,481
  • llonebot/luckylilliabotAvatar de LLOneBot

    LLOneBot/LuckyLilliaBot

    3,375Ver en GitHub↗

    LuckyLilliaBot is a multi-protocol bot framework and protocol bridge that integrates diverse chat communication protocols to enable programmatic interaction in private and group conversations. It functions as a messaging gateway that translates internal messaging client functions into standardized WebSocket and HTTP protocols. The system employs a plugin-based adapter architecture to decouple chat platform logic and convert platform-specific messages into a standardized internal format. It exposes internal functions as standard web endpoints and persistent duplex connections to allow external

    Employs chat platform adapters to abstract diverse APIs behind a common internal interface.

    TypeScriptllbotllobllonebot
    Ver en GitHub↗3,375
  • charmbracelet/logAvatar de charmbracelet

    charmbracelet/log

    3,121Ver en GitHub↗

    This is a structured logging library designed to produce logs using key-value pairs, severity levels, and machine-readable formats. It provides a toolkit for creating logs that are consistent for both human review and machine parsing. The project is distinguished by its focus on terminal visualization, using a styling system to apply colors and prefixes to log entries for improved readability in consoles. It also includes a specialized adapter to convert standard library log calls into structured events by inferring severity levels from message prefixes. The library manages metadata through

    Uses adapter patterns to bridge the gap between standard library logging and structured logging interfaces.

    Gogolanglogging
    Ver en GitHub↗3,121
  • design-patterns-in-ruby/design-patterns-in-rubyAvatar de design-patterns-in-ruby

    design-patterns-in-ruby/design-patterns-in-ruby

    2,560Ver en GitHub↗

    Este proyecto sirve como recurso educativo y referencia técnica para implementar patrones de diseño de software clásicos dentro del lenguaje de programación Ruby. Proporciona una colección curada de ejemplos de código que demuestran cómo aplicar patrones de diseño de comportamiento, creacionales y estructurales para resolver problemas comunes de desarrollo de software. El repositorio se distingue por centrarse en la intersección de los principios de diseño establecidos y los mecanismos únicos del lenguaje Ruby. Ilustra cómo aprovechar el despacho dinámico de métodos, el duck typing y la composición basada en mixins para crear código modular y reutilizable. Al aplicar estos patrones, los desarrolladores pueden mejorar la mantenibilidad y escalabilidad de sus aplicaciones mientras reducen la deuda técnica mediante una refactorización y organización estructural efectivas. La colección cubre una amplia gama de enfoques arquitectónicos, incluyendo técnicas para gestionar la instanciación de objetos, simplificar relaciones complejas del sistema y desacoplar la comunicación entre objetos. Estos ejemplos traducen conceptos de diseño abstractos en implementaciones concretas e idiomáticas de Ruby, proporcionando una guía práctica para estructurar sistemas orientados a objetos.

    Illustrates the adapter pattern to allow objects with incompatible interfaces to collaborate.

    Ruby
    Ver en GitHub↗2,560
  • php-http/client-commonAvatar de php-http

    php-http/client-common

    1,050Ver en GitHub↗

    This library provides a standardized abstraction layer for PHP HTTP clients, enabling consistent request handling across diverse network transport implementations. It serves as a foundational toolkit for developers to manage network communication through unified interfaces, ensuring that application logic remains decoupled from specific underlying transport libraries. The project distinguishes itself through a decorator-based pipeline and a plugin-driven lifecycle system. These mechanisms allow for the interception and modification of request and response data, as well as the injection of cus

    Implements design patterns to wrap existing classes and provide compatible interfaces for diverse network transports.

    PHP
    Ver en GitHub↗1,050
  1. Home
  2. Software Engineering & Architecture
  3. Adapter Patterns

Explorar subetiquetas

  • Authentication Logic Customizers1 sub-etiquetaInterfaces for overriding default authentication behaviors through a compatible interface wrapper. **Distinct from Adapter Patterns:** Specific to authentication flows rather than general interface compatibility
  • Chat Platform AdaptersAdapters that abstract the APIs of different chat platforms behind a common interface for multi-platform bot connectivity. **Distinct from Adapter Patterns:** Distinct from general Adapter Patterns: focuses specifically on chat platform API abstraction, not generic interface compatibility.
  • Scraping Platform AdaptersUnifies heterogeneous site-specific scraping logic behind a common interface for downloading media or extracting content. **Distinct from Adapter Patterns:** Distinct from general Adapter Patterns: focuses on abstracting web scraping platforms, not generic interface compatibility.