Blog posts about design patterns — страница 5

0 2.8K

Service Layer – Domain Logic Patterns (PoEAA)

Паттерн Service Layer определяет для приложения границу и набор допустимых операций с точки зрения взаимодействующих с ним клиентских компонентов. Он инкапсулирует бизнес-логику приложения, управляя транзакциями и управляя ответами в реализации этих операций.

0 3.1K

Domain Model – Domain Logic Patterns (PoEAA)

Паттерн Domain Model (модель области определения) образует сеть взаимосвязанных объектов, в которой каждый объект представляет собой отдельную значащую сущность: может быть настолько большую, как корпорация или настолько малую, как строка из формы заказа.

0 13.2K

Принципы объектно-ориентированного проектирования

SOLID принципы:

  • The Single Responsibility Principle​ (SRP)
  • The Open Closed Principle​ (OCP)
  • The Liskov Substitution Principle​ (LSP)
  • The Interface Segregation Principle​ (ISP)
  • The Dependency Inversion Principle​ (DIP)

Другие принципы:

  • Release Equivalence Principle (REP)
  • Сommon Closure Principle (CCP)
  • Сommon Reuse Principle (CRP)
  • Acyclic Dependencies Principle (ADP)
  • Stable Dependencies Principle (SDP)
  • Stable Abstractions Principle (SAP)
1 7.2K

Поведенческие паттерны: Хранитель (Memento) C#

В данной статье мы рассматриваем Поведенческий шаблон проектирования "Memento" и его реализацию на .NET

Назначение:

Паттерн Хранитель (Memento) — позволяет выносить внутреннее состояние объекта за его пределы для последующего возможного восстановления объекта без нарушения принципа инкапсуляции.

  • Не нарушая инкапсуляции, паттерн Memento получает и сохраняет за пределами объекта его внутреннее состояние так, чтобы позже можно было восстановить объект в таком же состоянии.
  • Является средством для инкапсуляции "контрольных точек" программы.
  • Паттерн Memento придает операциям "Отмена" (undo) или "Откат" (rollback) статус "полноценного объекта".

Когда использовать Memento?

  • Когда нужно сохранить состояние объекта для возможного последующего восстановления;

  • Когда сохранение состояния должно проходить без нарушения принципа инкапсуляции;

0 9K

Поведенческие паттерны: Интерпретатор (Interpreter) C#

В данной статье мы рассматриваем поведенческий шаблон проектирования "Интерпретатор" и его реализацию на .NET

Назначение:

Паттерн Интерпретатор (Interpreter) определяет представление грамматики для заданного языка и интерпретатор предложений этого языка. Как правило, данный шаблон проектирования применяется для часто повторяющихся операций.

Когда использовать Паттерн Interpreter:

Интерпретатор следует использовать когда вам  необходимо интерпретировать запись в другом языке и тд. Как один из примеров может служить перевод римских цифр в арабские.