77 repositorios
Hierarchical class structures for managing state and rendering logic of complex visual objects.
Distinguishing note: Focuses on the internal class hierarchy of a library rather than general software design patterns.
Explore 77 awesome GitHub repositories matching software engineering & architecture · Object-Oriented Models. Refine with filters or upvote what's useful.
Este proyecto proporciona un marco de plan de estudios de ciencias de la computación estructurado, diseñado para estudiantes autodidactas. Organiza recursos académicos de acceso abierto, incluidos libros de texto, conferencias y tareas, en un camino coherente que refleja los requisitos de un título universitario formal. Al integrar el estudio teórico con metodologías prácticas de ingeniería de software, la plataforma permite a los estudiantes dominar conceptos fundamentales y habilidades técnicas avanzadas de forma independiente. El plan de estudios se distingue por utilizar un flujo de trabajo basado en control de versiones para gestionar la experiencia educativa. Los estudiantes utilizan herramientas basadas en repositorios para realizar un seguimiento de los hitos académicos, mantener un historial persistente de las tareas completadas y validar sus soluciones técnicas frente a los requisitos establecidos. Este enfoque fomenta la adopción de prácticas de ingeniería estándar de la industria, como la configuración de entornos de desarrollo aislados y la gestión de dependencias de proyectos, a lo largo del proceso de aprendizaje. La plataforma admite una amplia gama de desarrollo técnico, cubriendo áreas como la resolución de problemas computacionales, el diseño orientado a objetos y el análisis de datos. Facilita el aprendizaje colaborativo a través de plataformas impulsadas por la comunidad, lo que permite a los estudiantes participar en la interacción entre pares y la validación de su trabajo. El plan de estudios se mantiene como un recurso de código abierto, proporcionando una guía completa para desarrollar competencia profesional en ingeniería de software.
Apply object-oriented programming principles to represent complex data structures and behaviors as classes, objects, and methods.
Diagrams is a diagram-as-code framework and infrastructure mapping tool used to generate system architecture visualizations via Python code. It functions as a programmatic wrapper for Graphviz, allowing users to define cloud services and their interconnections to create structured architectural layouts. The project specializes in cloud architecture visualization by mapping software components to a library of provider-specific icons. This approach enables the management of system designs within version control to track architecture changes over time. The library provides capabilities for conf
Represents architectural components as Python objects that manage their own visual attributes and relationships.
This project is a software engineering educational resource providing a collection of canonical system implementations. It serves as a library of computer science case studies and polyglot code examples designed to demonstrate architectural tradeoffs and design patterns through concise versions of fundamental software components. The repository focuses on studying the implementation of core concepts such as consensus algorithms, interpreters, and database engines. It provides minimal versions of complex systems to facilitate the analysis of language design, data structure implementation, and
Simulates an imperative object-oriented system using message and attribute dispatch to demonstrate language design.
This project is a high-performance, lightweight C graphics library designed for creating interactive user interfaces on resource-constrained embedded hardware. It functions as a comprehensive framework that provides a widget toolkit, a rendering engine, and hardware-agnostic drivers to support the development of graphical displays on microcontrollers and embedded systems. The framework distinguishes itself through a flexible, object-oriented widget hierarchy and a declarative layout engine that supports responsive design patterns like flexbox and grid systems. It enables developers to synchro
Organizes user interface elements into a tree structure where properties and styles propagate from parent to child nodes.
Matplotlib is a Python data visualization library and 2D plotting engine used to generate publication-quality figures and charts from numerical data. It serves as a numerical graphics library and data visualization toolkit for mapping data to visual elements. The library provides capabilities for producing static, animated, and interactive visualizations. This includes creating high-resolution figures for professional documents, generating moving graphics to illustrate data evolution over time, and building dynamic plots for interactive data exploration. The toolkit supports scientific plott
Employs an internal object-oriented class hierarchy to manage the state and rendering of figures, axes, and plots.
This project is an open-source library of customizable mobile interface templates and screen layouts built with Flutter and Dart. It serves as a prototyping kit and design gallery, providing a collection of ready-made user interface examples and Material Design component sets for cross-platform mobile application development. The collection enables the rapid creation of application screens by providing pre-built layouts for common mobile app flows and navigation patterns. Developers can browse these interface patterns and modify colors, fonts, and layouts to align with specific brand guidelin
Constructs a hierarchy of widgets that are painted to the screen as a single coordinated view.
This project is an educational resource designed for learning the Python programming language. It serves as a tutorial repository and programming guide, providing a collection of annotated scripts, code examples, and cheatsheets to help users master syntax and core fundamentals. The resource focuses on moving from basic language syntax to advanced implementation, with a particular emphasis on object-oriented programming, the use of the Python standard library, and scripting automation for business workflows. The content covers a broad range of programming capabilities, including control flow
Provides educational resources for modeling real-world entities using Python classes and inheritance.
This project is a JavaScript educational resource and frontend web development course. It provides a collection of starter files and final projects designed to teach the JavaScript programming language through practical application. The material functions as a project portfolio and implementation guide, demonstrating how to build interactive user interfaces using the document object model. It focuses on event handling, object oriented programming, and the integration of native browser features. The course covers a range of capability areas, including asynchronous data fetching, client-side a
Offers pedagogical resources on representing real-world entities using JavaScript classes and prototype inheritance.
NetworkX is a Python library designed for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. It provides a comprehensive framework for modeling relationships between entities as graphs, directed graphs, or multigraphs, allowing users to attach arbitrary metadata and properties to nodes and edges. The library distinguishes itself through a modular architecture that decouples graph analysis logic from data storage, utilizing nested dictionaries and adjacency lists to manage topology. It features a pluggable backend system that delegates computat
Uses standard object-oriented patterns to represent nodes and edges as flexible entities with arbitrary metadata and properties.
Rofi is a keyboard-driven application launcher and window switcher for X11 desktops. It functions as a scriptable command palette and a compatible emulator for dmenu, capable of reading options from standard input and returning a user selection to standard output. The project is distinguished by a customizable window interface using a CSS-like theming system and a flexible box-model widget hierarchy. It features a recursive theme inheritance system and responsive styling that adapts based on screen dimensions and monitor identifiers. The tool provides advanced text filtering using fuzzy, reg
Implements a box-model widget hierarchy to organize the interface using nested containers.
This project is an asynchronous library for the Python programming language designed to facilitate the development of automated agents and interactive applications on the Discord platform. It provides a comprehensive framework for building event-driven software that manages real-time communication, server resources, and user interactions through a structured interface. The library utilizes a non-blocking event loop to handle concurrent network operations, allowing developers to maintain persistent bidirectional connections via WebSockets. It features a declarative system for routing text-base
Maps complex remote data structures into local class instances to simplify the management of users, channels, and server entities.
This project is an open-source Flutter GitHub client and cross-platform mobile application. It serves as a GitHub GraphQL client and OAuth mobile app, providing a mobile interface for browsing repositories, issues, and user profiles. It is also designed as an open-source architecture reference to demonstrate Flutter best practices, state management, and multi-language localization. The application distinguishes itself by using GraphQL queries to retrieve nested repository and user information, reducing network requests and over-fetching. It utilizes a shared Dart codebase to provide a consist
Propagates visual styles and localization settings throughout the UI by rebuilding the widget hierarchy via inherited providers.
Impacket is a collection of Python classes designed for the construction, manipulation, and analysis of low-level network packets and services. It functions as a framework for building custom network tools, providing a programmatic interface to interact with communication protocols and service architectures. The library provides primitives for managing authentication, session state, and remote procedure calls within network environments. By offering a modular class hierarchy, it allows for the assembly of network packets and the implementation of specialized communication stacks. The project
Organizes network standards into a modular class hierarchy for programmatic packet and payload composition.
Xournalpp is a digital note-taking and annotation application designed for capturing natural handwriting and sketching. It functions as a vector graphics editor that treats individual strokes, shapes, and text as discrete, editable objects, allowing users to refine and manipulate their work after it has been placed on the canvas. The application provides a specialized environment for overlaying handwritten notes and drawings onto existing PDF documents. By utilizing pressure-sensitive stylus input, it simulates a natural writing experience, while its layered canvas composition enables users t
Stores individual handwritten marks as discrete data objects to allow for independent selection and transformation.
Seaborn is a Python library designed for statistical data visualization. It functions as a high-level interface built on the Matplotlib ecosystem, providing specialized routines to explore and communicate complex patterns within datasets. The framework enables users to generate informative graphics through automated statistical aggregation, multi-plot faceting, and integrated regression modeling. The library distinguishes itself through a declarative approach to data mapping, which translates raw inputs into visual properties like color, size, and position. It includes a robust statistical tr
Wraps low-level graphics primitives in high-level objects to manage coordinate systems and axes.
Primitive is an algorithmic art generator and geometric image reconstruction tool that transforms raster images into stylized vector compositions. It functions as an iterative shape optimizer and raster-to-vector converter, approximating pixel-based photos by layering geometric primitives such as triangles, circles, and rectangles. The project utilizes a search algorithm to determine the optimal position, size, and color for each shape to minimize the visual difference from the source image. Users can apply shape constraint definitions to control the properties and orientations of the geometr
Provides a system for constraining geometric properties to achieve specific artistic effects.
Subtitle Edit is a desktop application designed for the creation, synchronization, and adjustment of text-based subtitle files. It provides a graphical interface for managing subtitle workflows, allowing users to modify content and formatting to ensure accurate display during video playback. The application distinguishes itself through a specialized synchronization workflow that utilizes visual waveform displays to align subtitle timestamps with audio and video cues. It supports a wide range of industry-standard file formats, enabling users to convert subtitle data to ensure compatibility acr
Uses structured class instances to represent subtitle entries for consistent data manipulation.
sigma.js is a JavaScript graph visualization library and WebGL network renderer designed for drawing large-scale network graphs in web browsers. It functions as a high-performance engine capable of rendering network structures containing thousands of nodes and edges interactively. The library provides a customizable graph engine that allows for the creation of specialized visualizations using low-level graphics primitives and custom drawing layers. It supports the rendering of diverse node shapes, such as images or piecharts, and enables the integration of graph visualizations as overlays on
Renders complex nodes using a set of low-level geometric primitives to maintain high performance.
signature_pad is a JavaScript library and drawing tool for capturing handwritten digital signatures on an HTML5 canvas. It provides a handwriting capture interface that transforms raw mouse or touch inputs into smooth, professional-looking lines. The project uses Bézier curve interpolation to smooth jagged input points into fluid strokes. It supports the configuration of drawing aesthetics, including pen color, background color, and line width, and includes a history management system for undoing and restoring drawing actions. The library handles the serialization of signature data into poin
Coordinates line segments by managing the drawing lifecycle through distinct start, update, and end events.
PRML is a Python machine learning library and statistical learning toolkit. It provides code implementations of supervised and unsupervised learning concepts, including regression, classification, and neural network algorithms for statistical data modeling. The project functions as a pattern recognition toolkit used to identify theoretical structures within numerical datasets. It includes a neural network framework for solving nonlinear data mappings and a linear algebra toolkit that utilizes vectorized operations and matrix calculations. The library covers a broad range of capabilities, inc
Stores model parameters and training weights within class instances to maintain consistency.