30 open-source projects similar to addyosmani/essential-js-design-patterns, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Essential Js Design Patterns alternative.
This project is a software design pattern implementation guide and architecture reference. It provides a practical collection of code examples demonstrating creational, structural, and behavioral patterns to improve software maintainability and quality. The library includes standardized implementations for object instantiation through creational patterns, templates for assembling objects into efficient hierarchies using structural patterns, and examples for managing object communication and responsibility distribution via behavioral patterns. The project maps these abstract design patterns t
This is a reference collection of reusable JavaScript code examples that demonstrate classic software design patterns. The project provides practical implementations of creational patterns like Singleton and Factory, structural patterns such as Adapter and Decorator, and behavioral patterns including Observer, Strategy, and Command. The documentation is organized around runnable code examples that show each pattern's structure and usage, serving as a practical guide for applying these solutions to recurring software architecture problems. The collection covers the three main categories of des
This project is an architectural design course and educational resource focused on breaking large JavaScript codebases into independent, testable, and environment-agnostic components. It serves as a modular programming guide and reference for implementing structural strategies and best practices in production environments. The material emphasizes the use of design patterns to create decoupled components and robust logic. It specifically covers strategies for dependency inversion and the use of generic interfaces to ensure logic can run across different JavaScript runtimes. The guide provides
This repository serves as a reference for implementing standard software design patterns within JavaScript environments. It provides a collection of structural, creational, and behavioral patterns designed to assist developers in organizing complex application logic and improving overall code maintainability. The project demonstrates how to apply object-oriented principles to decouple object creation from core business logic and manage communication between objects. By utilizing these patterns, developers can structure classes and object interactions to ensure code remains modular and flexibl
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 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 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
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 a collection of software design patterns implemented in Go, serving as a technical reference and a set of practical programming examples. It maps theoretical architectural patterns to concrete code to demonstrate structural, creational, and behavioral coding techniques. The repository provides implementations for creational patterns focused on object instantiation and blueprint management, structural patterns for organizing object compositions, and behavioral patterns that manage object interactions and responsibilities. The content covers broad capability areas including in
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
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
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
Clean-Code-Notes is a clean code study guide and a collection of detailed notes based on professional software development standards. It serves as documentation for coding standards and a reference for writing maintainable source code. The project provides technical summaries for object oriented design and software design patterns. It includes guidelines for organizing classes and interfaces to reduce coupling, isolating implementation details, and implementing architectural patterns such as dependency injection and interface abstraction. The resource also functions as an implementation guid
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 comprehensive educational resource and programming guide for the TypeScript language. It serves as a manual for the type system and a reference for the language's core syntax, focusing on writing type-safe code and building scalable applications. The content provides detailed instruction on the TypeScript type system, covering interfaces, generics, and structural typing. It further acts as a compiler reference, analyzing how source code is transformed into an abstract syntax tree through scanning and parsing. The guide also covers software architecture design, detailing pro
LearningNotes is a technical knowledge base and engineering study guide focused on Android framework internals, system architecture, and mobile performance optimization. It serves as a reference for analyzing the Android boot sequence, process bootstrapping, and system service initialization. The project provides detailed guides on mobile performance, including strategies for reducing memory footprints, identifying memory leaks, and optimizing image decoding. It further covers Android inter-process communication using AIDL and the Binder kernel driver, as well as software architecture manuals
This repository is a collection of practical code samples and an idiomatic programming guide for the Python language. It serves as a reference for implementing advanced language features, data structures, and professional coding standards. The project focuses on demonstrating object-oriented architectures and structural design patterns. It provides a set of source files that illustrate the use of advanced Python capabilities to create readable and efficient software designs. The implementation covers asynchronous and concurrent execution patterns, as well as idiomatic software design and pro
This repository is a Java language educational resource and coding standards reference. It provides a collection of runnable source code examples that illustrate industry standard design patterns, effective programming techniques, and API design principles. The codebase serves as a practical implementation of recommended solutions for common pitfalls in Java development. It uses standalone runnable classes and executable entry points to demonstrate software engineering patterns and maintainable architecture. The project is implemented using pure Java and standard library features, with logic
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
This project is an instructional repository and learning resource providing a comprehensive collection of study notes, programming guides, and runnable source code examples. It serves as a guide for Java SE and Java web development, featuring a library of code samples that demonstrate common algorithms and technical implementations. The repository focuses on language core and runtime analysis, with detailed tutorials on multithreading and concurrency. It provides practical implementations of software architecture and design patterns, such as the singleton and strategy patterns, as well as exp
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
This repository serves as a technical learning platform and study guide focused on low-level system design and distributed systems architecture. It provides educational materials and implementation examples designed to help engineers master the foundational components required to build scalable and reliable backend infrastructure. The project emphasizes the practical application of architectural patterns through the construction of essential software modules. By implementing building blocks such as in-memory caches, event-driven message buses, and rate limiters, users can analyze the internal
This project is a TypeScript-based architectural framework designed to implement domain-driven design and hexagonal architecture in enterprise applications. It provides a structured boilerplate that isolates core business logic from infrastructure concerns, ensuring that domain entities, use cases, and external technology adapters remain decoupled and maintainable. The framework distinguishes itself by enforcing strict architectural boundaries and dependency inversion, preventing unauthorized access to core logic from external layers. It utilizes a command-query responsibility segregation pat
This repository serves as a comprehensive reference and library for ABAP programming, providing a collection of concise syntax summaries and executable code examples. It is designed to assist developers in learning core language features and modern development patterns through practical, hands-on implementation guides. The project distinguishes itself by offering a library of reusable, class-based examples that demonstrate complex enterprise development concepts. It covers the implementation of structured business objects, including the management of draft-enabled state, event-driven lifecycl
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
This project is an educational platform and tutorial series designed to teach the Go programming language through the practice of test-driven development. It provides a structured path for developers to master language fundamentals, concurrency, and standard library usage by building functional applications in small, verifiable increments. The core methodology centers on the test-driven development cycle, where failing tests are written before implementation to define requirements and ensure code correctness. This approach is applied across a wide range of practical scenarios, including the c
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 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.
This project is a C++ design patterns library and programming reference. It provides a collection of structural, creational, and behavioral software architecture patterns implemented in C++ to serve as blueprints for organizing classes and objects. The library covers the implementation of standard patterns for object instantiation, communication, and structural organization. It demonstrates the application of industry-standard design patterns to address common software design problems through object-oriented architecture. The codebase includes implementations of creational patterns to standa
This project is a curated collection of Android development code snippets, implementation patterns, and technical guides designed to assist in building and maintaining mobile applications. It serves as a reference for standard mobile architecture, providing structured approaches to common development requirements and system integration tasks. The repository distinguishes itself by offering specific technical strategies for managing application lifecycles, optimizing memory usage, and ensuring interface responsiveness in resource-constrained environments. It provides programmatic techniques fo