«Погружение в паттерны проектирования»

1862

Описание

Эта книга состоит из описания 22-х классических паттернов проектирования, впервые открытых «Бандой Четырёх» ("Gang of Four" или просто GoF) в 1994 году. Каждая глава книги посвящена только одному паттерну. Поэтому, книгу можно читать как последовательно, от края до края, так и в произвольном порядке, выбирая только интересные в данный момент паттерны. Многие паттерны связаны между собой, поэтому вы сможете с лёгкостью прыгать по связанным темам, используя ссылки, которых в книге имеется в достатке. В конце каждой главы приведены отношения текущего паттерна с остальными. Если вы видите там название паттерна, до которого ещё не добрались, то попросту читайте дальше - этот пункт будет повторён в другой главе.



3 страница из 126
читать на одной стр.
Настроики
A

Фон текста:

  • Текст
  • Текст
  • Текст
  • Текст
  • Аа

    Roboto

  • Аа

    Garamond

  • Аа

    Fira Sans

  • Аа

    Times

стр.

UML-диаграмма иерархии классов. Все классы на этой диаграмме являются частью иерархии Животных.

Такой родительский класс принято называет суперклассом, а его потомков — подклассами. Подклассы наследуют свойства и поведения своего родителя, поэтому в них содержится лишь то, чего нет в суперклассе. Например, только коты могут мурчать, а собаки — лаять.

Мы можем пойти дальше, и выделить ещё более общий класс живых Организмов, который будет родительским и для Животных, и для Рыб. Такую «пирамиду» классов обычно называют иерархией. Класс Котов унаследует всё как из Животных, так из Оганизмов.

Классы на UML-диаграмме можно упрощать, если важно показать отношения между ними.

Следует упомянуть, что подклассы могут переопределять поведение методов, которые им достались от суперкласса. При этом, они могут как полностью заменить поведение метода, так и просто добавить что-то к результату выполнения родительского метода.

Краеугольные камни ООП

ООП имеет четыре главные концепции, которые отличают его от остальных методологий программирования.

Абстракция

Когда вы пишете программу, используя ООП, вы представляете её части через объекты реального мира. Но объекты в программе не повторяют в точности их реальные аналоги, да и это редко когда нужно. Вместо этого, объекты программы всего лишь моделируют поведение реальных объектов, важных в том или ином контексте, а остальные свойства реального объекта игнорируют.

Так, например, класс Самолёт будет актуален как для программы тренажёра пилотов, так и для программы бронирования авиабилетов, но в первом случае будут важны детали пилотирования самолёта, а во втором — лишь расположение и занятость мест внутри самолёта.

Разные модели одного и того же реального объекта.

Абстракция — это модель некоего объекта или явления реального мира, откидывающая незначительные детали, не играющие существенной роли в данном контексте.

Инкапсуляция

Когда вы заводите автомобиль, вам достаточно повернуть ключи зажигания или нажать кнопку. Вам не нужно вручную соединять провода под капотом, поворачивать коленчатый вал и поршни, запуская такт двигателя. Все эти детали скрыты под капотом автомобиля. Вам доступен только простой интерфейс — кнопка зажигания, руль и педали. Таким образом, интерфейс — это публичная часть объекта, доступная остальным объектам.

Комментарии к книге «Погружение в паттерны проектирования», Александр Швец

Всего 0 комментариев

Комментариев к этой книге пока нет, будьте первым!

РЕКОМЕНДУЕМ К ПРОЧТЕНИЮ

Популярные и начинающие авторы, крупнейшие и нишевые издательства