# me115/design_patterns

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/me115-design-patterns).**

7,124 stars · 1,797 forks · C++ · NOASSERTION

## Links

- GitHub: https://github.com/me115/design_patterns
- Homepage: http://design-patterns.readthedocs.org/zh_CN/latest/index.html#
- awesome-repositories: https://awesome-repositories.com/repository/me115-design-patterns.md

## Description

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, PDF, and ePub formats.

The broader capability surface covers software design pattern implementation, object-oriented architecture modeling, and the generation of technical documentation.

## Tags

### Software Engineering & Architecture

- [Design Pattern Implementations](https://awesome-repositories.com/f/software-engineering-architecture/design-pattern-implementations.md) — Translates theoretical software structures into working code examples using creational, structural, and behavioral patterns. ([source](https://github.com/me115/design_patterns#readme))
- [Architecture References](https://awesome-repositories.com/f/software-engineering-architecture/object-oriented-models/architecture-references.md) — Serves as a comprehensive technical guide for organizing object-oriented classes to manage complex control flows.
- [Architectural Relationship Models](https://awesome-repositories.com/f/software-engineering-architecture/architectural-relationship-models.md) — Maps software structures to define entity interactions through association, composition, and dependency using UML. ([source](https://github.com/me115/design_patterns/blob/master/read_uml.rst))
- [Behavioral Design Patterns](https://awesome-repositories.com/f/software-engineering-architecture/behavioral-design-patterns.md) — Provides implementations of behavioral design patterns to manage object communication and responsibility distribution. ([source](https://github.com/me115/design_patterns/tree/master/code))
- [Creational Design Patterns](https://awesome-repositories.com/f/software-engineering-architecture/creational-design-patterns.md) — Implements creational design patterns to manage object instantiation and decouple clients from concrete classes. ([source](https://github.com/me115/design_patterns/tree/master/code))
- [Interaction Sequence Visualization](https://awesome-repositories.com/f/software-engineering-architecture/interaction-sequence-visualization.md) — Visualizes the chronological exchange of messages between objects and actors using sequence diagrams to illustrate behavioral patterns.
- [Object-Oriented Modeling](https://awesome-repositories.com/f/software-engineering-architecture/object-oriented-models/object-oriented-modeling.md) — Maps class relationships and dependencies using standard notations to organize complex software systems and decouple components.
- [Structural Design Patterns](https://awesome-repositories.com/f/software-engineering-architecture/structural-design-patterns.md) — Provides implementations of structural design patterns to organize classes and objects into efficient larger structures. ([source](https://github.com/me115/design_patterns/tree/master/code))
- [System Interaction Modeling](https://awesome-repositories.com/f/software-engineering-architecture/system-interaction-modeling.md) — Models the chronological order of messages exchanged between actors and lifelines using sequence diagrams. ([source](https://github.com/me115/design_patterns/blob/master/read_uml.rst))
- [UML Modeling](https://awesome-repositories.com/f/software-engineering-architecture/uml-modeling.md) — Uses standard Unified Modeling Language notations to map software entity relationships and organizational hierarchies.
- [Software Architecture Patterns](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture-patterns.md) — Uses UML object and sequence diagrams to visualize the organization and runtime interactions of software patterns. ([source](https://github.com/me115/design_patterns#readme))
- [Software Design Patterns](https://awesome-repositories.com/f/software-engineering-architecture/software-design-patterns.md) — Visualizes the structural organization and interaction logic of software patterns using class diagrams and state charts. ([source](https://github.com/me115/design_patterns/blob/master/readme.rst))

### Education & Learning Resources

- [Design Pattern Guides](https://awesome-repositories.com/f/education-learning-resources/design-pattern-guides.md) — Provides a curated collection of design patterns with accompanying code examples and architectural explanations.
- [Software Design Patterns](https://awesome-repositories.com/f/education-learning-resources/software-design-patterns.md) — Illustrates software pattern structures and interactions using UML diagrams and technical examples. ([source](https://github.com/me115/design_patterns/blob/master/design_patterns.EAP))

### Content Management & Publishing

- [Documentation Asset Generation](https://awesome-repositories.com/f/content-management-publishing/documentation-knowledge-management/technical-documentation/documentation-asset-generation.md) — Automatically generates technical documentation assets in various formats like HTML, PDF, and ePub. ([source](https://github.com/me115/design_patterns/blob/master/Makefile))
- [Multi-Format Generators](https://awesome-repositories.com/f/content-management-publishing/documentation-knowledge-management/technical-documentation/multi-format-generators.md) — Ships a system for converting architecture guides into HTML, PDF, and ePub formats.
- [Multi-Format Document Exports](https://awesome-repositories.com/f/content-management-publishing/multi-format-document-exports.md) — Provides capabilities for exporting a single source of architecture content into multiple output formats including PDF, HTML, and ePub.
- [Technical Documentation Frameworks](https://awesome-repositories.com/f/content-management-publishing/technical-documentation-frameworks.md) — Implements a framework for structuring and distributing software architecture guides in multiple formats.

### Development Tools & Productivity

- [Automated Documentation Generation](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/code-generation/automated-documentation-generation.md) — Compiles source architecture content into a variety of distributed formats including HTML, PDF, and JSON. ([source](https://github.com/me115/design_patterns/blob/master/make.bat))

### Programming Languages & Runtimes

- [Template-Driven Instantiation](https://awesome-repositories.com/f/programming-languages-runtimes/class-instantiation/template-driven-instantiation.md) — Implements object creation mechanisms that decouple clients from concrete classes using structured templates.
