30 open-source projects similar to iluwatar/java-design-patterns, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Java Design Patterns alternative.
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
This project is a comprehensive educational resource designed to help developers master object-oriented design and architectural patterns. It serves as a structured reference for understanding how to organize classes and objects to improve code maintainability, resolve recurring development challenges, and prepare for technical engineering assessments. The guide covers the three primary categories of design patterns: creational, structural, and behavioral. Each pattern is explained through practical examples that demonstrate how to manage object instantiation, simplify complex interfaces, and
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
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
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,
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
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
DesignPatternsPHP is a reference collection of sample code implementations for common software design patterns using PHP 8.x. It provides a set of examples for implementing creational, structural, and behavioral patterns to organize object-oriented design. The project includes reference implementations for creational patterns that decouple systems from object instantiation, structural patterns that define how classes organize into complex components, and behavioral patterns that manage algorithms and responsibilities between objects.
This project is a comprehensive library of twenty-three standard software design patterns implemented in Java. It serves as an educational resource that maps theoretical architectural concepts to practical object-oriented code. The library organizes these patterns into three primary categories: creational patterns for managing object instantiation, structural patterns for organizing class and object relationships, and behavioral patterns for coordinating communication and responsibility between objects. The implementation provides concrete class examples for a wide range of industry-standard
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
This project is a comprehensive directory of open-source iOS applications designed to serve as a technical reference for developers and learners. It functions as a curated index of mobile software, categorizing projects by their functionality, implementation language, and architectural design to provide a clear view of how professional applications are structured. The repository distinguishes itself by offering a deep dive into mobile app architecture, allowing users to study real-world codebases that utilize patterns such as Model-View-ViewModel, VIPER, and Clean Architecture. It highlights
A curated list of awesome Arduino hardwares, libraries and softwares with update script
Awesome Emacs is a curated directory of community-driven resources, packages, and configurations designed to extend the functionality of the Emacs text editor. It serves as a comprehensive index for users seeking to transform their editor into a specialized development environment or a highly personalized productivity workspace. The collection highlights tools that enable deep customization of the Emacs experience, ranging from ergonomic key binding schemes and visual interface themes to advanced window management and navigation utilities. It provides a centralized reference for discovering e
A curated list of awesome MATLAB toolboxes, applications, software and resources.
An opinionated, curated list of awesome libraries, plugins, and resources for Apple platform development
A curated list of awesome Cocoa controls for iOS, watchOS and macOS
All the UNIX and UNIX-Like: Linux, BSD, macOS, Illumos, 9front, and more.
The definitive list of lists (of lists) curated on GitHub and elsewhere
A curated list of awesome loosely performance related JVM stuff. Inspired by awesome-python.
A curated list of amazingly awesome Elixir and Erlang libraries, resources and shiny things. Updates:
A curated list of delightful Bash scripts and resources.
This project is a community-maintained directory of technical resources, tools, and services that offer free tiers for developers. It serves as a centralized reference point for discovering infrastructure, software, and educational materials, helping individuals and teams minimize operational costs while building and scaling applications. The directory distinguishes itself through a collaborative, community-driven curation model that aggregates metadata about third-party services. By utilizing a hierarchical taxonomy and storing all content in version-controlled, plain-text files, the project
This project is a community-maintained directory that serves as a comprehensive index of software tools, frameworks, and educational materials. It functions as an open-source knowledge base, organizing diverse engineering domains and technical resources into a structured taxonomy to assist developers in discovering high-quality content. The directory distinguishes itself through a decentralized peer-review model, where independent contributors curate, verify, and update entries to ensure accuracy and relevance. All information is stored in a version-controlled, flat-file markdown format, whic
This project is a community-maintained directory of resources for building desktop applications with Electron. It serves as a centralized knowledge base, aggregating high-quality tools, learning materials, and software examples to assist developers in mastering the framework and improving their development workflows. The repository functions as a curated ecosystem index, relying on peer review and community contributions to verify and organize information. By maintaining a structured collection of articles, books, boilerplates, and third-party components, it provides a comprehensive reference
This project serves as a centralized directory and resource hub for extending the functional capabilities of AI agents. It provides a structured collection of tools and integration patterns that enable large language models to interact with external software platforms, facilitating autonomous task execution and data retrieval across a wide range of business applications. The repository distinguishes itself by standardizing communication between AI models and external services through the Model Context Protocol. It utilizes declarative skill manifests and machine-readable tool-calling schemas
This project is a community-driven directory that aggregates and categorizes high-quality technical resources, tools, and learning materials. It functions as a centralized knowledge management repository, designed to help developers navigate the software development landscape by providing structured access to curated lists and external project references. The directory relies on a collaborative, peer-reviewed workflow where external contributors submit and maintain links through a version-controlled system. This community-maintained approach ensures that the information remains current and re
This project serves as a comprehensive language ecosystem index, functioning as a centralized, community-curated directory for the Go programming language. It organizes a vast landscape of software components, libraries, and development tools into a structured, navigable hierarchy, enabling developers to efficiently discover resources tailored to specific functional domains. The repository distinguishes itself through a decentralized contribution model, where community-driven updates ensure the index remains current with the rapidly evolving software landscape. Beyond simple resource listing,
This project is a curated knowledge repository that serves as a comprehensive index for software architecture and design patterns. It functions as a community-driven learning resource, providing developers with structured access to high-quality documentation, books, and articles focused on mastering complex design principles and industry-standard best practices. The directory distinguishes itself through a hierarchical taxonomy that organizes technical concepts into logical domains, ranging from cloud architecture and distributed systems to front-end development and machine learning. By relyi
A curated list of awesome Erlang libraries, resources and shiny things.