КОНТЕЙНЕРЫ В МЕТОДОЛОГИИ ПРОГРАММИРОВАНИЯ > Полезные советы
Тысяча полезных мелочей    

КОНТЕЙНЕРЫ В МЕТОДОЛОГИИ ПРОГРАММИРОВАНИЯ

КОНТЕЙНЕРЫ В МЕТОДОЛОГИИ ПРОГРАММИРОВАНИЯ

Прыгунков М.О. Статья в формате PDF 101 KB

Объектно-ориентированные языки поддерживают три базовых принципа объектной технологии:

1) инкапсуляция

2) наследование

3) полиморфизм

Принцип инкапсуляции. В основе любого объектного языка лежит принцип инкапсуляции. Этим термином обозначается способность языка скрывать второстепенные детали реализации от пользователя объекта.

Принцип наследования. В объектно-ориентированных языках можно моделировать связь путём объявления базового класса и производного от него. Классы связываются посредством классического наследования («А есть В») или с помощью модели контейнеров («А содержит В»). В любом случаи наследование всегда предполагает, что один класс является специальной формой другого.

Отношение «А есть В»: классическое наследование. В классическом наследовании подкласс перенимает существующую функциональность базового класса.

Отношение «А содержит В»: контейнеры и делегирование. Другой способ наследования является реализация отношения «А содержит В» и известен также как модель контейнеризации/делегирования (containment/delegation).

Принцип полиморфизма. Полиморфизм позволяет связанным классам единым образом реагировать на одинаковые сообщения. Так же как и с наследованием, существуют две формы полиморфизма - классический и конкретный (adhoc) полиморфизм.

Классический полиморфизм поддерживается только теми языками, которые поддерживают классическое наследование. Оба принципа тесно связаны друг с другом.

Рассматривая возможность агрегации нескольких объектов в новый класс - контейнер, необходимо определить основы агрегации. Каждый объект обладает некоторым декларированным интерфейсом, с помощью которого с ним могут взаимодействовать другие объекты. Контейнер, имея в своём составе некоторое множество объектов, может предоставлять вовне весь интерфейс вложенных объектов или только его часть. Совокупность интерфейсов, которые использует контейнер у вложенного объекта, назовём ролью вложенного объекта. Несколько вложенных объектов могут играть одинаковые или различные роли в одном и том же контейнере.

Понятие роли объекта не менее важно для агрегации, чем формальные параметры подпрограмм в структурном программировании. Это положение исходит из того, что понятие роли вводит виртуальность объектов в контейнере. Действительно, можно с полным правом сказать, что контейнер агрегирует объекты, способные выступать в таких-то ролях, то есть, объектов, имеющих некоторую определённую совокупность интерфейсов.

Понятие роли динамично, поскольку оно позволяет непосредственно при работе системы объявить ролью некоторый набор интерфейсов и потребовать от системы список классов, объекты которых способны выступать в данной роли. Для примера можно рассмотреть класс, который имеет интерфейсы A, B, C, D и F. В роли «альфа» объединим интерфейсы A и B, в роли «бета» - интерфейсы B, C и F, в роли «гамма» - A, C и D и т.д. Понятно, что подклассы всегда могут выступать в тех ролях. Однако, благодаря тому, что полиморфизм является понятием независимым от наследования (обратное неверно), то справедливо будет и утверждение, что классы, не находящиеся в наследственной связи, тоже способны играть одну и ту же роль.

Простота и удобство механизма виртуальности объектов в контейнере позволяют существенно облегчить разработку сложных систем за счёт перехода от упрощенных опытных моделей к промышленным образцам. С другой стороны, на основе данного вида виртуализации можно моделировать и реальную эволюцию сложных систем, например, биологических, технических, социальных. Однако, как будет отмечено ниже, такие требования не являются непреодолимыми, поскольку, с одной стороны, контейнеры существенно упрощают вложенные классы, в том числе и спецификации интерфейсов, а, с другой стороны, наследование контейнеров, как обычных классов, приводит и к наследованию функционала, который представим в виде ролей вложенных объектов. И, наконец, у контейнеров, как и любых других классов можно будет «наращивать» функциональность по мере необходимости, повышая возможности системы. Поэтому можно установить порядок разработки контейнера, определяя тем самым приоритеты реализации ролей, то есть интерфейсов вложенных классов.

Отметим, что на основе механизма сборки программ из объектов в процессе выполнения программ можно даже предложить способ создания новых типовых элементов построения программ, названных «кубиками» из уже созданных «кубиков».



ОЦЕНКА СИНТЕЗИРОВАННЫХ СОРБЕНТОВ

ОЦЕНКА СИНТЕЗИРОВАННЫХ СОРБЕНТОВ Статья в формате PDF 208 KB...

30 04 2026 21:48:52

БРИЛЛЬ ГРИГОРИЙ ЕФИМОВИЧ

БРИЛЛЬ ГРИГОРИЙ ЕФИМОВИЧ Статья в формате PDF 452 KB...

25 04 2026 4:17:22

МОББИНГ И БЕЗОПАСНОСТЬ ТРУДА

МОББИНГ И БЕЗОПАСНОСТЬ ТРУДА Статья в формате PDF 271 KB...

21 04 2026 17:44:16

АУДИТ ТУРИСТСКИХ ОРГАНИЗАЦИЙ (учебное пособие)

АУДИТ ТУРИСТСКИХ ОРГАНИЗАЦИЙ (учебное пособие) Статья в формате PDF 107 KB...

19 04 2026 5:51:51

ОЦЕНКА ЭКОЛОГИЧЕСКОГО РИСКА ТЕРРИТОРИИ ИРКУТСКОЙ ОБЛАСТИ

ОЦЕНКА ЭКОЛОГИЧЕСКОГО РИСКА ТЕРРИТОРИИ ИРКУТСКОЙ ОБЛАСТИ В статье представлена комплексная оценка экологического риска территории Иркутской области. Наличие в области большого количества промышленных объектов с опасными производствами, технологиями и материалами предопределяет реальную возможность возникновения техногенных аварий и катастроф. Естественными природными факторами риска являются землетрясения, оползни, ураганы, наводнения, лесные пожары, опасные инфекционные заболевания, эпизоотии и эпифитотии. Более того, многие природные ЧС возникают как следствие воздействия человека на природную среду. Городская экосистема должна проектироваться и развиваться на основе технологии комплексной оценки экологической емкости территорий, которая необходима для гармоничного развития территорий без деградации природных экосистем любого уровня. В Иркутской области наблюдается значительное загрязнение всех компонентов окружающей среды, что также сказывается на показателях состояния здоровья населения. Выявлена статистически значимая связь между показателями детской cмepтности и загрязнением природной среды. Комплексная оценка экологического риска по предлагаемой методике показывает, что природная среда исследуемой территории уже никогда не сможет восстановиться в первоначальном виде. ...

12 04 2026 22:36:23

МОДЕЛЬ РАБОТЫ В ИНЖЕНЕРНО – ГЕОЛОГИЧЕСКОЙ СИСТЕМЕ

МОДЕЛЬ РАБОТЫ В ИНЖЕНЕРНО – ГЕОЛОГИЧЕСКОЙ СИСТЕМЕ Статья в формате PDF 251 KB...

09 04 2026 20:19:54

ПРОБЛЕМА ОЦЕНКИ СТУДЕНЧЕСКОЙ НАУЧНОЙ РАБОТЫ

ПРОБЛЕМА ОЦЕНКИ СТУДЕНЧЕСКОЙ НАУЧНОЙ РАБОТЫ Статья в формате PDF 105 KB...

07 04 2026 14:15:25

СИСТЕМА АКТИВАЦИИ ПЛАЗМИНОГЕНА ПРИ РАКЕ ЖЕЛУДКА

СИСТЕМА АКТИВАЦИИ ПЛАЗМИНОГЕНА ПРИ РАКЕ ЖЕЛУДКА Представлен обзор литературы о значении компонентов системы активации плазминогена при злокачественных новообразованиях различной локализации, а также у больных paком желудка. Рассмотрены клиническое значение и роль активаторов плазминогена урокиназного (uPA) и тканевого (tPA) типов, а также их ингибиторов 1 и 2 типа (PAI-1 и PAI-2) в метастазировании и инвазии опухолей. Показано, что увеличение концентрации в опухоли uPA и PAI-1 может быть связано с повышенным риском возникновения метастазов и рецидивов заболевания, и наоборот высокое содержание в опухолевой ткани PAI-2 и tPA коррелирует с благоприятным прогнозом. ...

05 04 2026 19:44:43

СОВРЕМЕННЫЕ МЕТОДЫ НЕРАЗРУШАЮЩЕГО КОНТРОЛЯ

СОВРЕМЕННЫЕ МЕТОДЫ НЕРАЗРУШАЮЩЕГО КОНТРОЛЯ Статья в формате PDF 330 KB...

04 04 2026 21:37:28

РОЛЬ МОТИВАЦИЙ В ПОВЕДЕНИЕ

РОЛЬ МОТИВАЦИЙ В ПОВЕДЕНИЕ Статья в формате PDF 112 KB...

03 04 2026 1:48:46

Иммунная система и сердечная недостаточность

Иммунная система и сердечная недостаточность Статья в формате PDF 115 KB...

01 04 2026 2:27:33

СОБСТВЕННОСТЬ И СВОБОДА

СОБСТВЕННОСТЬ И СВОБОДА Статья в формате PDF 112 KB...

29 03 2026 2:45:28

НОВЫЕ ПРОДУКТЫ ДЛЯ ФУНКЦИОНАЛЬНОГО ПИТАНИЯ

НОВЫЕ ПРОДУКТЫ ДЛЯ ФУНКЦИОНАЛЬНОГО ПИТАНИЯ Статья в формате PDF 207 KB...

25 03 2026 15:16:44

Еще:
Поддержать себя -1 :: Поддержать себя -2 :: Поддержать себя -3 :: Поддержать себя -4 :: Поддержать себя -5 :: Поддержать себя -6 :: Поддержать себя -7 :: Поддержать себя -8 :: Поддержать себя -9 :: Поддержать себя -10 :: Поддержать себя -11 :: Поддержать себя -12 :: Поддержать себя -13 :: Поддержать себя -14 :: Поддержать себя -15 :: Поддержать себя -16 :: Поддержать себя -17 :: Поддержать себя -18 :: Поддержать себя -19 :: Поддержать себя -20 :: Поддержать себя -21 :: Поддержать себя -22 :: Поддержать себя -23 :: Поддержать себя -24 :: Поддержать себя -25 :: Поддержать себя -26 :: Поддержать себя -27 :: Поддержать себя -28 :: Поддержать себя -29 :: Поддержать себя -30 :: Поддержать себя -31 :: Поддержать себя -32 :: Поддержать себя -33 :: Поддержать себя -34 :: Поддержать себя -35 :: Поддержать себя -36 :: Поддержать себя -37 :: Поддержать себя -38 ::