Список статей из категории: Паттерны проектирования

Шаблоны проектирования — это проверенные и готовые к использованию решения часто возникающих в повседневном программировании задач

Паттерны архитектуры источников данных (PoeAA)

Паттерны архитектуры источников данных (PoeAA)

Рассматриваем в статье 4 паттерна из Архитектурных  паттернов источников данных PoeAA:

Row Data Gateway (Шлюз к данным записи)

Active Record (Активная запись)

Table Data Gateway (Шлюз к данным таблицы)

Data Mapper

Service Layer – Domain Logic Patterns (PoeAA)

Service Layer – Domain Logic Patterns (PoeAA)

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

Domain Model – Domain Logic Patterns (PoeAA)

Domain Model – Domain Logic Patterns (PoeAA)

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

0 183 01.09.2018 11:16

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

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

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) — ​Принцип устойчивых абстракций Пакет должен быть столь же абстрактным, сколь и устойчивым​
0 856 21.01.2018 18:18

MV-паттерны для проектирования веб-приложений

MV-паттерны для проектирования веб-приложений

В данной статье вы найдете некую шпаргалку по MV-паттернам для проектирования веб-приложений среди которых MVC, MVVM, MVP.

0 693 25.12.2017 16:39

Шаблоны проектирования "банды четырёх (GoF)"

Шаблоны проектирования "банды четырёх (GoF)"

Статья о Шаблонах (или паттернах) проектирования. Паттерны описывают типичные способы решения часто встречающихся проблем при проектировании программ.

 

Что такое паттерны проектирования?

Паттернами проектирования (Design Patterns) называют решения часто встречающихся проблем в области разработки программного обеспечения. В данном случае предполагается, что есть некоторый набор общих формализованных проблем, которые довольно часто встречаются, и паттерны предоставляют ряд принципов для решения этих проблем.

0 6.6K 17.12.2017 12:00

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

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

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

Назначение:

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

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

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

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

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

0 480 16.12.2017 22:14