29 repository-uri
Reusable solutions and structural templates for common problems in software architecture and system design.
Distinguishing note: Focuses on architectural design patterns rather than implementation-level code snippets.
Explore 29 awesome GitHub repositories matching software engineering & architecture · Software Design Patterns. Refine with filters or upvote what's useful.
This repository serves as a comprehensive educational collection of industry-standard software design patterns and architectural principles implemented in Java. It functions as a structured reference for developers to study and apply proven strategies for building maintainable, object-oriented systems. The project acts as a knowledge base for software engineering, offering a curated set of programming heuristics and best practices. By providing ready-to-use implementations of standard design patterns, it enables developers to address common programming challenges and improve code modularity t
Showcases industry-standard architectural patterns to help developers understand and apply proven design solutions.
Ray is a distributed computing framework designed to scale Python and Java applications across clusters by abstracting task scheduling and resource management. It functions as a resource-aware execution engine that manages task dependencies, placement, and fault tolerance across networked compute nodes. At its core, the system provides a stateful actor model, allowing developers to define classes that run in dedicated processes to maintain and mutate internal state across remote method calls. The framework distinguishes itself through a robust cross-language interoperability layer, enabling f
Ray Core Design Patterns — a named example documented in this learning resource.
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
Serves as a comprehensive reference for applying standard software design patterns in Python.
JavaFamily is a curated set of learning paths and reference guides for backend engineering, distributed systems, and virtual machine internals. It provides a structured curriculum covering the Java language, operating system concepts, and network protocols. The project features detailed study guides for the Java virtual machine architecture, including memory management and garbage collection. It also includes a comprehensive reference for distributed systems, covering microservices, remote procedure call frameworks, and scalable system design. The collection covers a broad range of technical
Guides the application of software design patterns to improve system maintainability and scalability.
This project serves as a technical reference and guide for implementing idiomatic software design patterns within the Go programming language. It provides a curated collection of architectural blueprints and coding strategies designed to help developers organize complex codebases into maintainable, modular components. The repository covers a broad spectrum of software engineering practices, including creational, structural, and behavioral design patterns. It emphasizes the use of language-specific idioms to manage object instantiation, decouple component interactions, and extend functionality
Provides a comprehensive collection of structural, creational, and behavioral design patterns tailored for robust Go application development.
FizzBuzzEnterpriseEdition is an enterprise-grade software architecture framework designed to demonstrate the application of complex design patterns to fundamental logic flows. It utilizes a modular component architecture to decouple business logic from infrastructure concerns, employing dependency injection containers to manage object lifecycles and enforce strict interface-based contracts between system units. The project distinguishes itself by applying rigorous enterprise software design principles to the generation of FizzBuzz sequences. By externalizing component wiring and application b
Demonstrates the application of complex enterprise design patterns to fundamental logic flows for maintainable code structures.
This project is a comprehensive technical guide to advanced Go programming. It serves as a programming guide, technical reference, and textbook covering low-level optimization and distributed systems architecture. The resource provides detailed instructions on writing assembly instructions to optimize performance-critical code and managing C-Go interoperability to bridge C libraries with Go. It also functions as a manual for implementing remote procedure call mechanisms and creating custom plugins for the Protocol Buffers compiler. The material covers high-level capabilities including the de
Covers the use of interface-based design patterns to create modular and testable software architectures.
This project is a comprehensive reference library and preparation guide for Python technical interviews. It combines theoretical guides on computer science fundamentals and language runtime internals with practical implementation examples of algorithms and data structures. The repository serves as a curated knowledge base that maps theoretical interview questions to concrete code snippets. It provides technical analysis of Python language internals, including memory management, garbage collection, and the global interpreter lock, alongside a library of creational and structural software desig
Organizes code around specific design patterns and algorithmic archetypes to illustrate recurring software solutions.
This project is an open-source knowledge repository that serves as a comprehensive technical interview question bank for backend engineering roles. It provides a structured resource for hiring managers and candidates to evaluate proficiency in software design, architectural patterns, and core engineering principles through a curated collection of discussion topics and coding challenges. The repository functions as a programming paradigm evaluation tool, enabling the assessment of a candidate's understanding of object-oriented, functional, and procedural techniques. It distinguishes itself by
Examines architectural design patterns to test a candidate's understanding of system structure and maintainability.
This repository serves as a technical reference and educational resource for implementing software design patterns within the Swift programming language. It provides a collection of common architectural patterns designed to help developers structure codebases for improved maintainability, scalability, and system organization. The project focuses on applying fundamental object-oriented and protocol-oriented principles to manage relationships between classes and objects. It demonstrates how to use language-level interfaces to define shared behaviors and how to organize components into cohesive
Provides reusable solutions and structural templates for common problems in software architecture and system design.
This project provides a structured template for building enterprise applications using a modular monolith architecture. It demonstrates how to organize complex business logic into independent, domain-specific modules that remain contained within a single deployment unit. The architecture enforces strict boundaries between components to minimize coupling and complexity. It utilizes domain-driven design principles to map software components directly to real-world business concepts, ensuring that logic remains independent of infrastructure concerns. Communication between these isolated modules i
Implements enterprise design patterns for managing large-scale codebases.
LearningNotes este o bază de cunoștințe tehnice și un ghid de studiu de inginerie axat pe internele framework-ului Android, arhitectura sistemului și optimizarea performanței mobile. Servește drept referință pentru analizarea secvenței de boot Android, bootstrapping-ul proceselor și inițializarea serviciilor de sistem. Proiectul oferă ghiduri detaliate despre performanța mobilă, inclusiv strategii pentru reducerea amprentei de memorie, identificarea scurgerilor de memorie și optimizarea decodării imaginilor. Acoperă, de asemenea, comunicarea inter-proces Android folosind AIDL și driverul de kernel Binder, precum și manuale de arhitectură software pentru decuplarea logicii de business de interfețele utilizator prin tipare precum MVVM și MVP. Dincolo de dezvoltarea mobilă, repository-ul include o bază de cunoștințe de informatică pentru pregătirea interviurilor tehnice, acoperind structuri de date, algoritmi și concepte de sistem de operare. De asemenea, dispune de o referință practică pentru controlul versiunilor Git, detaliind gestionarea repository-ului, sincronizarea și fluxurile de lucru de branching.
Explains the application of creational, structural, and behavioral design patterns to organize scalable code.
This project is a comprehensive guide to architectural standards and coding patterns for developing maintainable applications within the Laravel framework. It focuses on clean code standards, applying the single responsibility and DRY principles to ensure codebase predictability and consistency. The guide emphasizes decoupling components by moving business logic into service layers and shifting input validation into dedicated request classes to keep controllers lean. It advocates for the use of a service container and dependency injection to reduce class coupling and improve testability. The
Implements foundational software design patterns including single responsibility and DRY principles to ensure codebase maintainability.
This project is a programming language reference library and developer knowledge base. It serves as a collection of verified code snippets and implementation patterns used to demonstrate specific programming language features and standard library functions. The repository functions as a software design pattern catalog and a code implementation blueprint. It provides a structured set of examples that illustrate architectural patterns and modular samples intended to maintain consistency across a codebase. The library covers the implementation of programming patterns, language feature adoption,
Provides a structured catalog of code examples illustrating common architectural patterns for scalable software.
This project is a curated catalogue of software architecture patterns and idioms implemented in Rust. It serves as a technical reference for building maintainable systems and a guide for writing idiomatic code. The resource documents common structural solutions and anti-patterns for Rust development. It provides a collection of best practices and language-specific conventions to help developers write clean and efficient code. The project covers systems design patterns, software architecture, and code optimization within a type-safe environment.
Offers a curated catalogue of reusable structural templates and architectural solutions for Rust development.
Checkstyle is a Java static analysis tool and linter designed to identify and enforce coding standards and best practices. It functions as a code quality auditor and Javadoc validation tool, checking source code against configurable rulesets to ensure structural and stylistic consistency. The project allows for the creation of custom linting rules by extending a core API to inspect the abstract syntax tree. It further enables specialized validation through the use of XPath expressions to query the syntax tree for specific code patterns and violations. Capability areas include the enforcement
Analyzes class structures and modifiers to enforce architectural integrity and software design patterns.
This project is a comprehensive Python coding guide and software engineering resource focused on professional development practices. It provides a detailed collection of idiomatic techniques, design patterns, and architectural strategies to improve code quality and maintainability. The guide emphasizes advanced design patterns such as dependency injection, data-driven design, and the application of SOLID principles for object-oriented design. It distinguishes itself by covering sophisticated structural strategies, including class-based decorators, the separation of interfaces from implementat
Provides an architectural approach that externalizes changing logic into data structures.
This project is an object-oriented architecture reference and software design patterns guide. It provides a collection of creational, structural, and behavioral patterns accompanied by practical code examples and architectural explanations to help manage complex control flows and decouple software components. The project functions as a technical documentation framework and UML visualization library. It uses Unified Modeling Language class and sequence diagrams to illustrate object relationships and runtime interactions, and it includes a system for converting architecture guides into HTML, PD
Visualizes the structural organization and interaction logic of software patterns using class diagrams and state charts.
Acest proiect este un ghid de implementare a modelelor de design software și o referință arhitecturală. Oferă o colecție practică de exemple de cod care demonstrează modele creaționale, structurale și comportamentale pentru a îmbunătăți mentenabilitatea și calitatea software-ului. Biblioteca include implementări standardizate pentru instanțierea obiectelor prin modele creaționale, șabloane pentru asamblarea obiectelor în ierarhii eficiente folosind modele structurale și exemple pentru gestionarea comunicării între obiecte și distribuția responsabilităților prin modele comportamentale. Proiectul mapează aceste modele de design abstracte pe domenii de business specifice, cum ar fi tranzacțiile și marketingul, pentru a demonstra cum se pot rezolva probleme software din lumea reală. Aceasta include aplicarea dispatch-ului polimorfic la runtime și decuplarea bazată pe interfețe pentru a reduce complexitatea sistemului și a crește scalabilitatea.
Maps abstract design patterns to real-world business domains such as transactions and marketing.
This project is a curated library of technical ebooks and guides focused on Java language learning, backend architecture, and Java Virtual Machine internals. It serves as a reference-driven knowledge base and a technical repository for software engineering principles. The collection provides specialized materials for studying Java backend architecture, including high-performance server-side development and concurrency. It includes a dedicated JVM technical reference for performance tuning and internal machine behavior, as well as resources for algorithm study and data structures. Additional
Provides reference materials on reusable structural templates and clean code principles for software design.