Reference Architecture Cheat Sheet
This article will explore software architecture references. It will cover their importance and how to use them to design effective solutions for your business needs.
You're viewing blog posts that cotains GoF tag
See all postsThis article will explore software architecture references. It will cover their importance and how to use them to design effective solutions for your business needs.
В этой статье рассмотрим roadmap Go developerов и на что нужно сделать упор при глубоком изучении Go.
Статья содержит паттерны, которые можно с пользой применять в cloud-based приложениях и в микросервесной архитектуре.
В этой статье я собрал самые типичные и частые вопросы на собеседовании для Senior C# / .NET разработчика которые помогут вам не только подготовиться к интервью, но и улучшить свои знания по многим смежным с .NET темам.
В этой статье рассмотрим паттерны локальной конкуренции из списка шаблонов Архитектуры корпоративных программных приложений (PoEAA).
Любое собеседование требует подготовки и "рефреша" знаний. В данной статье описываем основные топики которые нужно повторить не зависимо от вашего стека технологий
Статья о Шаблонах (или паттернах) проектирования. Паттерны описывают типичные способы решения часто встречающихся проблем при проектировании программ.
В данной статье мы рассматриваем Поведенческий шаблон проектирования "Memento" и его реализацию на .NET
Паттерн Хранитель (Memento) — позволяет выносить внутреннее состояние объекта за его пределы для последующего возможного восстановления объекта без нарушения принципа инкапсуляции.
Когда нужно сохранить состояние объекта для возможного последующего восстановления;
Когда сохранение состояния должно проходить без нарушения принципа инкапсуляции;
В данной статье мы рассматриваем поведенческий шаблон проектирования "Интерпретатор" и его реализацию на .NET
Паттерн Интерпретатор (Interpreter) определяет представление грамматики для заданного языка и интерпретатор предложений этого языка. Как правило, данный шаблон проектирования применяется для часто повторяющихся операций.
Интерпретатор следует использовать когда вам необходимо интерпретировать запись в другом языке и тд. Как один из примеров может служить перевод римских цифр в арабские.
В данной статье мы рассматриваем структурный шаблон проектирования "Flyweight" и его реализацию на .NET
Паттерн Приспособленец (Flyweight) - шаблон проектирования, который позволяет использовать разделяемые объекты сразу в нескольких контекстах. Данный паттерн используется преимущественно для оптимизации работы с памятью.
Приспособленец это экземпляр объекта, который выдает себя за группу самостоятельных экземпляров.
В данной статье мы рассматриваем порождающий шаблон проектирования "Прототип" и его реализацию на .NET
Прототип — позволяет создавать новые объекты путем клонирования уже существующих. По сути данный паттерн предлагает технику клонирования объектов.
Когда желательно избежать наследования создателя объекта. В этом случае, Прототип является конкурентом Абстрактной фабрики.
Когда клонирование объекта является более предпочтительным вариантом нежели его создание и инициализация с помощью конструктора.
Когда создание копии объекта проще и быстрее, чем порождение его стандартным путем, используя операцию new и включая инициализацию полей.
В данной статье мы рассматриваем структурный паттерн "Мост" и его реализацию на .NET
Мост (Bridge) - структурный шаблон проектирования, который позволяет отделить абстракцию от реализации таким образом, чтобы и абстракцию, и реализацию можно было изменять независимо друг от друга.
Шаблон Мост предполагает, что основной код, необходимый для функционирования объекта, переносится в реализацию. Всё остальное, включая взаимодействие с клиентом, содержится в абстракции. Её методы, при необходимости, могут быть изменены или дополнены. Кроме того, она содержит экземпляр реализации и использует его для обработки поступающих от клиентов запросов. Под обработкой подразумевается как прямая переадресация запроса, так и вызов группы методов реализации для получения результата.
Когда надо избежать постоянной привязки абстракции к реализации
Когда наряду с реализацией надо изменять и абстракцию независимо друг от друга. То есть изменения в абстракции не должно привести к изменениям в реализации