ManageExpert.ru

Успешный менеджмент

Цели программного обеспечения

Некоторая расплывчатость определений и полное отсутствие консенсуса относительно того, что можно считать основными понятиями в ОО, не улучшали положения бедного странника, ищущего объектно-ориентиро-ванного просветления. Однако со временем все установилось, и сегодня есть общепринятая терминология и концепции объектно-ориентированной парадигмы. Упаковка

В 00 есть множество аспектов. Для некоторых этот подход является способом прожить, для других это образ жизни. Для того чтобы постичь 00 в полном его великолепии, следует понимать не только инкапсуляцию или сокрытие описания, но также и наследование, делегирование, универсальность, динамическое связывание и полиморфизм. (И люди еще говорят, что структурная революция навязала слишком много новых терминов!) Все эти понятия представляют собой важные аспекты данной парадигмы и ее практического применения, но реальная причина того, что в разработке программ объекты ждет большое будущее, намного проще.

В короткой статье невозможно описать все тонкости объектно-ориентированной парадигмы, но главные вопросы, связанные с человеческим фактором в программировании (peopleware), являются довольно простыми. (Написав эти строки, я уже слышу, как стучат клавиши, чтобы подготовить негодующие электронные письма, которые скоро будут переполнять мой ящик.)

Забудьте о шумихе, которую поднимают истинные верующие, говорящие вам, что объектно-ориентированные методы — это новый подход к обдумыванию задач. На самом деле это всего лишь «новый, улучшенный» завтрак из хлопьев — все дело в хорошей упаковке. Классы, которые являются необходимым компонентом объектно-ориентированного программирования, — это всего лишь улучшенные контейнеры для кода. Объектные классы имеют ряд преимуществ в сравнении с функциями и подпрограммами. Во-первых, классы — это большие и средние контейнеры. Чем больше составные блоки, тем большие системы можно построить из данного набора компонентов. Хотя объектные классы имеют большие размеры, они выглядят меньше и проще потому, что все объекты хитрым образом плотно упакованы в соответствии с каким-то одним общим понятием (например, КомпьютерныйКлиент или ЛазерныйПринтер). Благодаря этому образуется необходимая связка, которую легко узнать и перемещать. Да, вы складываете данные и процедуры в один блок, но это как раз те необходимые данные и процедуры, которые все вместе принадлежат одному блоку.

У такого блока даже есть утешительная надпись, во многом напоминающая о реальном мире клиентов и пользователей, что является вторым большим преимуществом объектов. Все остальное — это дополнительные преимущества, лежащие на дне коробки с хлопьями. Брад Кокс (Brad Сох), один из первопроходцев 00, имел обыкновение говорить всем, кто смотрел в его сторону хотя бы с малейшим интересом, что объектно-ориентированная революция в упаковке — это абсолютно то же самое, что и переход от дискретной электроники к микросхемам, то есть от транзисторов к чипам. Это небольшая разница, которая имеет большое значение.

Остальные детали этого подхода можно найти у Роланда Рако (Roland Racko), Меилира Пейдж-Джонса (Meilir Page-Jones) и других настоящих ОО-гуру. В своих статьях и книгах они показывают, что даже во всей своей красе 00 не обязательно должно быть трудным — даже для тех заржавелых, старых умов, которые до основания заражены структурными методами. Субъективное программирование

Перейти на страницу: 1 2 3