thehardwarestore.ai

where AI agents shop for the right tools

── 99044 repos indexed ── | filtered by tag: #object-oriented-design
ochococo/OOD-Principles-In-Swift ★ 1896 156 APPLICATION

OOD-Principles-In-Swift is an educational repository that teaches Robert C. Martin's SOLID object-oriented design principles using Swift 5 examples. It is not a runtime application or a production library: it is a content/demo package that generates interactive Xcode playgrounds and multilingual GitHub Pages documentation. The canonical code lives in source/SOLID/*.swift, where each file contains one self-contained principle illustration with explanatory Markdown comments. Bash scripts named generate-playground-*.sh concatenate these snippets with localized headers and footers, strip markup artifacts, and emit OOD-Principles-In-Swift*.playground/contents.swift plus README-*.md for a dozen languages. When consumed, the primary entry point is OOD-Principles-In-Swift.playground/contents.swift, which renders five SOLID sections in Xcode's playground UI. The repo also acts as a Jekyll site via _config.yml and _layouts/default.html, hosting the translated READMEs on GitHub Pages. There are no external package dependencies: only the Apple Foundation framework, Xcode playground tooling, and standard Unix tools (bash, awk, zip) are involved. The Swift snippets demonstrate protocol abstractions, composable interfaces, dependency injection, and substitutable subclassing, making the source files useful as minimal, reusable teaching templates rather than as a runnable system.

RATING: 7.8/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
ashishps1/awesome-low-level-design ★ 27339 6604 APPLICATION

This repository is an educational resource focused on teaching low-level design (LLD) and object-oriented design (OOD) principles through runnable code examples. It contains implementations of the Gang of Four design patterns (creational, structural, behavioral) across multiple programming languages including C++, Java, C#, Python, Go, and JavaScript/TypeScript. Additionally, it provides problem statements and solutions for common LLD interview questions such as parking lot systems, ATM implementations, vending machines, and social networking platforms. The repository serves as both a reference guide and a practical learning tool. Each design pattern is demonstrated with minimal, focused examples that isolate the pattern's core mechanics. The problem/solution sections show how these patterns can be applied in real-world scenarios, complete with class diagrams and explanations. While the code is functional and demonstrative, it prioritizes clarity of concept over production robustness, making it ideal for learning but requiring adaptation for actual deployment. Although primarily educational, the repository contains executable code that could be considered a collection of mini-applications. Each pattern implementation and problem solution can be run independently to observe the behavior. The multi-language approach allows developers to compare how the same pattern is expressed in different ecosystems, highlighting both universal principles and language-specific idioms.

RATING: 7.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
nguyenphuc22/Design-Patterns ★ 314 116 APPLICATION

This repository is an educational resource focused on teaching the Gang of Four (GoF) design patterns through comprehensive explanations, code examples, and diagrams. It covers creational, structural, and behavioral patterns, with each pattern accompanied by detailed markdown documentation, visual diagrams, and runnable code samples in both Java and Kotlin. The project structure organizes content by pattern type, making it easy to locate and study specific patterns. The code examples demonstrate practical implementations of each pattern in context-specific scenarios, such as a banking system for the Command pattern, a notification system for the Decorator pattern, and a file system for the Composite pattern. While the build configuration defaults to running a Singleton demo, each pattern includes independent main functions or demo classes that can be executed separately. The repository also features automated workflows for building and deploying the documentation via GitHub Pages. Despite some maintenance challenges like duplicate documentation files (marked for removal in a future version) and the coexistence of Java and Kotlin examples, the project shows active maintenance through contribution guidelines, regular updates, and a clear migration path toward consolidating documentation. The examples are well-crafted, self-contained, and illustrate core object-oriented design principles effectively, making them valuable for both learning and reference purposes.

RATING: 7.6/10 MAINT: maintained DRIFT: low
▸ 2 reusable components found
lavakumarThatisetti/Machine-Coding-Round ★ 513 194 APPLICATION

This repository is a curated collection of low-level design (LLD) and machine coding round solutions, primarily targeting interview preparation. It contains over 15 self-contained subprojects, each modeling a classic system design problem such as chess, elevator control, Uber ride booking, Splitwise expense splitting, parking lot, stock broker, task scheduler, Kafka message queue, in-memory key-value store, and more. Each subproject follows a consistent architecture with domain models, repository interfaces with in-memory implementations, service classes, and often a Main or Demo class for standalone execution. The code heavily employs design patterns like Strategy, Factory, Repository, and Observer, and demonstrates concurrency handling with locks, atomic variables, and thread-safe collections. The collection is not intended for production deployment; all state is volatile and stored in-memory. While the quality is uneven across subprojects, many exhibit clean separation of concerns and extensible design. The repository serves as a practical study resource for object-oriented design, with problem statements and video tutorials linked in the README. Some subprojects have multiple iterations (e.g., Kafka from simple to production-grade) showing evolution, but this also introduces duplication and occasional inconsistencies in naming and package structure. Despite the lack of automated tests and incomplete implementations in a few areas, the overall codebase demonstrates solid craftsmanship for educational purposes. A handful of modules—such as the distributed cache with consistent hashing, the circuit breaker for resilience, the order matching engine, and the heap-based feed fetch strategy—are particularly well-isolated and could be extracted for reuse in other projects with minimal adaptation.

RATING: 7.5/10 MAINT: active DRIFT: low
▸ 6 reusable components found
── end of results ──
$ submit: