10 Repos
Principles for defining classes and organizing class hierarchies.
Distinguishing note: Focuses on structural class organization rather than specific language syntax.
Explore 10 awesome GitHub repositories matching software engineering & architecture · Object-Oriented Design Patterns. Refine with filters or upvote what's useful.
This project is a collection of engineering guidelines and best practices for writing readable and maintainable JavaScript source code. It serves as a clean code guide and refactoring manual to help developers improve the structure of their codebases. The repository provides a reference for applying SOLID principles to reduce coupling and enable extensions without modifying existing logic. It includes a naming convention standard for using explicit, searchable identifiers and a guide for asynchronous patterns to replace nested callbacks with clearer execution flows. The guidelines cover soft
Guides the implementation of structured and extensible object hierarchies using classes and composition.
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
Implements the Abstract Factory pattern to create families of related objects without specifying concrete classes.
The CppCoreGuidelines is a comprehensive software engineering standard that provides a curated framework of coding conventions and design principles for C++. It serves as an authoritative guide for writing safe, efficient, and maintainable code by establishing high-level architectural patterns and organizational principles for large-scale projects. The guidelines emphasize the use of a strong, static type system to ensure memory safety and enforce consistent resource management patterns. The project distinguishes itself by promoting the zero-overhead abstraction principle, ensuring that high-
Organizes related classes into hierarchical structures to define clear representations and interfaces.
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 principles for defining classes and organizing class hierarchies to create robust and reusable application code.
This project is a comprehensive programming course and educational curriculum designed to transition developers from basic scripting to advanced software development. It provides structured guides and technical exercises focusing on language internals, professional software architecture, and sophisticated programming techniques. The curriculum distinguishes itself through a deep focus on language internals, analyzing object behavior and memory efficiency to improve execution speed. It provides specialized instruction on metaprogramming using decorators and dynamic attributes, as well as async
Instructs on mapping structural and behavioral logic to class hierarchies using standard object-oriented design patterns.
This project is a PHP clean code guide and software architecture reference. It provides a set of standards, naming conventions, and design patterns intended to improve the long-term maintainability and readability of PHP codebases. The guide emphasizes a structured approach to refactoring and system design, focusing on the application of SOLID principles to reduce coupling and increase extensibility. It advocates for object-oriented design through the use of composition over inheritance, the use of final classes to prevent unexpected overrides, and the implementation of strict type declaratio
Applies SOLID object-oriented design principles to reduce coupling and increase extensibility in PHP.
This project is a comprehensive library of practical Python code examples and patterns. It provides a collection of scripts and snippets designed to demonstrate a wide range of programming tasks, from basic syntax to advanced implementation patterns. The repository focuses on several core domains, including the implementation of concurrency and multithreading examples, data analysis snippets for cleaning and manipulating tabular data, and various data visualization examples. It also covers automation scripts for file system management and a variety of general programming patterns. Additional
Illustrates object-oriented design patterns including class methods, property decorators, and metaclasses.
Dieses Projekt ist eine Referenzsammlung praktischer Beispiele, die die Implementierung gängiger Software-Design-Patterns in Kotlin demonstrieren. Es dient als Leitfaden für architektonische Best Practices und objektorientierte Prinzipien durch die Anwendung von Verhaltens-, Erzeugungs- und Strukturmustern. Die Sammlung bietet konkrete Implementierungen, um zu zeigen, wie die Objektinstanziierung entkoppelt, die Kommunikation und Verantwortung zwischen Objekten verwaltet und komplexe Klassen- und Objektbeziehungen organisiert werden können. Die Referenz deckt Erzeugungsmuster wie Factories und Builder, Strukturmuster wie Adapter und Composites sowie Verhaltensmuster wie Observer und Strategies ab.
Implements the abstract factory pattern to create families of related objects without specifying concrete classes.
Dieses Projekt ist eine Sammlung vereinfachter Erklärungen und Code-Implementierungen für gängige Software-Design-Patterns unter Verwendung von JavaScript. Es dient als Leitfaden für die Implementierung von erzeugenden, strukturellen und verhaltensorientierten Design-Patterns zur Lösung von Softwarearchitekturproblemen. Die Ressource kategorisiert Patterns in drei Hauptgruppen. Erzeugende Patterns konzentrieren sich auf flexible Objektinstanziierung und Ressourcenmanagement. Strukturelle Patterns organisieren Objektbeziehungen und Interfaces, um effiziente Strukturen zu bilden. Verhaltensorientierte Patterns verwalten Kommunikation und Interaktion zwischen Objekten. Das Material deckt grundlegende Konzepte ab, einschließlich objektorientierter Programmierung, Softwarearchitekturplanung und Code-Refactoring-Strategien zur Reduzierung technischer Schulden.
Implements the Abstract Factory pattern to create families of related objects.
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
Applies professional object-oriented design patterns and structural layouts to create scalable Python code.