https://github.com/theoctan/design-patterns-cs
Concrete examples of design patterns in gamedev in C#
https://github.com/theoctan/design-patterns-cs
architecture csharp design-pattern design-patterns
Last synced: 9 months ago
JSON representation
Concrete examples of design patterns in gamedev in C#
- Host: GitHub
- URL: https://github.com/theoctan/design-patterns-cs
- Owner: TheOctan
- Created: 2021-02-02T11:23:04.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-03-17T13:32:53.000Z (over 5 years ago)
- Last Synced: 2024-11-16T01:41:57.066Z (over 1 year ago)
- Topics: architecture, csharp, design-pattern, design-patterns
- Language: C#
- Homepage:
- Size: 414 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# C# Design Patterns
### Creational Patterns ([Порождающие паттерны])
* ([Abstract Factory]) Абстрактная фабрика - создаёт семейство взаимносвязных объектов
* ([Builder]) Строитель - поэтамное создание сложного объекта
* ([Factory Method]) Фабричный метод - определяет интерфейс для создания объекта, при этом его тип определяется подклассами
* ([Object Pool]) Пул объектов - создание "затратных" объектов за счёт их многократного использования
* ([Prototype]) Прототип - создание объектов на основе прототипов
* ([Singleton]) Одиночка - создаёт единственный экземпляр некоторого класса и предоставляет к нему доступ
### Structural Patterns ([Структурные паттерны])
* ([Adapter]) Адаптер - преобразует интерфейс существующего класса к виду, подходящему для использования
* ([Bridge]) Мост - делает абсракцию и реализацию независимыми друг от друга
* ([Composite]) Компоновщик - группирует схожие объекты в древовидные структуры
* ([Decorator]) Декоратор - динамически добавляет объекту новую функциональность
* ([Facade]) Фасад - предоставляет унифицированный интерфейс вместо набора интерфейсов некоторой системы
* ([Flyweight]) Приспособленец - использует разделение для поддержки множества мелких объектов
* ([Proxy]) Заместитель - подменяет другой объект для контроля доступа к нему
### Behavioral Patterns ([Паттерны поведения])
* ([Chain of Responsibility]) Цепочка обязанностей - предоставляет способ передачи запроса по цепочке получателей
* ([Command]) Команда - Инкапсулирует запрос в виде объекта
* ([Interpreter]) Интерпертатор - для языка определяет его грамматику и интерпритатор, использующий эту грамматику
* ([Iterator]) Итератор - предоставляет механизм обхода элементов коллекции
* ([Mediator]) Посредник - Инкапсулирует взаимодействие между множеством объектов в объект-посредник
* ([Memento]) Хранитель - сохраняет и восстанавливает состояние объекта
* ([Observer]) Наблюдатель - при изменении объекта извещает все зависимые объекты для их обновления
* ([State]) Состояние - изменяет поведение объекта при изменении его состояния
* ([Strategy]) Стратегия - переносит алгоритмы в отдельную иерархию классов, делая их взаимозаменяемыми
* ([Template Method]) Шаблонный метод - определяет шаги алгоритма, позволяя подклассам изменить некоторые из них
* ([Visitor]) Посетитель - определяет новую операцию в классе без его изменения
[Adapter]: https://github.com/TheOctan/Design-Patterns-CS/edit/master/Structural%20Patterns/Adapter
[Bridge]: https://github.com/TheOctan/Design-Patterns-CS/tree/master/Structural%20Patterns/Bridge
[Decorator]: https://github.com/TheOctan/Design-Patterns-CS/tree/master/Structural%20Patterns/Decorator
[Command]: https://github.com/TheOctan/Design-Patterns-CS/tree/master/Behavioral%20Patterns/Command
[Observer]: https://github.com/TheOctan/Design-Patterns-CS/tree/master/Behavioral%20Patterns/Observer
[State]: https://github.com/TheOctan/Design-Patterns-CS/tree/master/Behavioral%20Patterns/State
[Strategy]: https://github.com/TheOctan/Design-Patterns-CS/tree/master/Behavioral%20Patterns/Strategy
[Template Method]: https://github.com/TheOctan/Design-Patterns-CS/tree/master/Behavioral%20Patterns/Template%20Method
[Visitor]: https://github.com/TheOctan/Design-Patterns-CS/tree/master/Behavioral%20Patterns/Visitor