Вадим Белых
Был на сайте: 14.09.2021 23:03

Вадим Белых jvbel

Паспорт не верифицирован

Примеры Perl-кода для паттернов SOLID 

  • 39
  • Опубликовано: 2011-05-12
Примеры Perl-кода для паттернов SOLID

# Open Closed Principle
"Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification."
Программные сущности должны быть открыты для расширения, но закрыты для модификации.
Это может быть обеспечено либо за счет наследования и полиморфизма, либо за счет помещения в объект класса ссылки на объект, производящий необходимую обработку данных. Во многих случаях второй путь предпочтительнее, поскольку присоединение и/или замена обрабатывающих объектов может осуществляться непосредственно во время выполнения программы.

# Single Responsibility Principle
"There should never be more than one reason for a class to change"
Не должно быть более одной причины для модификации класса. Это может быть обеспечено путем узкой специализации разрабатываемых классов.

# Liskov's Substitution Principle
"Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it"
Классы должны быть заменяемы своими наследниками. Это означает, что в любом месте вместо любого класса мы можем использовать любого его наследника. Таким образом, наследник должен расширять, а не изменять поведение предка, что и иллюстрируется в этом примере классом timestamp, который наследуется от класса date.
Комментариев нет
оставить комментарий могут только авторизованные пользователи
Другие работы автора:
Сервисы КПП ДГС Горводоканал

Сервисы КПП ДГС Горводоканал Дизайн и тексты от заказчика, я тут ни при чем :)

Реферат: Формирование и развитие афинской демократии

Реферат: Формирование и развитие афинской демократии Литература 1.В.И. Авдиев. История Древнего Востока. – 2-е изд., перераб. и доп. – Л.: Государственное издательство политической литературы, 1953. – 758 с.: ил., карты. 2.История Древней Греции: Учеб./ Ю.В. Андреев, Г.А. Кошеленко, В.И. Кузищин, Л.П. …

Программа восстановления файлов из бэкап архивов

Программа восстановления файлов из бэкап архивов Visual C++ 6.0 Вопрос заглох, а программа осталась :) "Originally Posted by "Trolluboy" Добрый день, хочу предложить вам выполнить не сложное задание на с++, бюджет 8-10 тыс в зависимости от реализации. Нужно написать программу для чт…

Контрольная работа: Схемотехника МПУ

Контрольная работа: Схемотехника МПУ Задание. Построить внутреннюю память процессорной системы, состоящую из ПЗУ и статического ОЗУ. Процессорная система работает в реальном режиме. Разрядность шины адреса 20, шины данных – 8. Адреса, покрываемые ПЗУ: 00000H – 1FFFFH Адреса, покрываемы…

Контрольная работа по курсу "Компьютерная графика"

Контрольная работа по курсу "Компьютерная графика" Visual C++ 6.0 Целью работы является освоение средств деловой графики, входящих в состав офисных пакетов, приобретение реального опыта программирования задач компьютерной графики, включая преобразование координат в трехмерном пространстве, построение…

Курсовая работа: Электромеханические переходные процессы

Курсовая работа: Электромеханические переходные процессы Анализ статической устойчивости установившихся режимов. Анализ устойчивости динамических переходов. Список литературы 1.Электромеханические переходные процессы. Переходные процессы в ЭЭС: методические указания к курсовой и расчетно-графической работа…

Моделирование линейчатых поверхностей

Моделирование линейчатых поверхностей Моделирование линейчатых поверхностей - Visual C++ 6.0

Контрольная работа по языку Pascal

Контрольная работа по языку Pascal Turbo Pascal 7.0