10 repositorios
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.
Este proyecto es una colección de referencia de ejemplos prácticos que demuestran la implementación de patrones de diseño de software comunes en Kotlin. Sirve como guía para las mejores prácticas arquitectónicas y principios orientados a objetos mediante la aplicación de patrones de comportamiento, creacionales y estructurales. La colección proporciona implementaciones concretas para demostrar cómo desacoplar la instanciación de objetos, gestionar la comunicación y responsabilidad entre objetos, y organizar relaciones complejas entre clases y objetos. La referencia cubre patrones creacionales como fábricas y constructores (builders), patrones estructurales incluyendo adaptadores y composites, y patrones de comportamiento como observadores y estrategias.
Implements the abstract factory pattern to create families of related objects without specifying concrete classes.
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
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.