Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 15.01.2011, 21:37
semenyakinVS вне форума Посмотреть профиль Отправить личное сообщение для semenyakinVS Найти все сообщения от semenyakinVS
  № 12  
Ответить с цитированием
semenyakinVS

Регистрация: Mar 2010
Сообщений: 137
Цитата:
Сообщение от JackFromChaos Посмотреть сообщение
предпочитайте композицию наследованию классов"(с) Банда четырех.
Кто это сказал? Плохая идея.

Задача: "Человек - наследник безмозглой обезьяны. У него есть мозг".

Реализация в таком вот подходе:
"Человек - оболочка с обезьяной внутри. Плюс у него есть мозг".

Реализация в подходе наследования:
"Человек – следующие звено в развитии обезьяны. У него есть мозг."

По-моему, второе звучит более логично.

Привожу сравнительную характеристику собственного производства.

«Наследование-включение»:
«+»
1. Возможность реализовывать функции-провайдеры в наследнике («Декоратор»). Таким образом мы можем запретить к использованию некоторые методы отца (Тут следует заметить, что то же самое можно реализовать и в подходе наследования, но в таком случаи это будет менее естественно для данного подхода).
2. Можно множественно наследовать там, где множественно наследовать нельзя.

«-»
1. Минус - громоздкий код («Декоратор» всегда громоздок).
2. Уничтожение одного из подходов к построению логики кода. Таким образом мы не сможем никак выделить архитектурой родственность между объектами.

«Наследование-наследование»:
«+»
1. Реализует стандарт С++.
2. Изящно – нет лишнего кода.
3. Минус один уровень вызова через точку.

«-»
1. Сложно представить. При неправильном подходе может вызвать захламлённость структуры.
2. Требует умения думать абстрактно.


Цитата:
Сообщение от JackFromChaos Посмотреть сообщение
Вообще почитайте "Приемы объектно ориентированного проектирование - паттерны проектирования". Глава введение, раздел "наследования и композиция".
Я читал книгу по шаблонам авторства Гамма. Почти все книги по паттернам рассматривают java-подобные подходы к архитектуре, где множественное наследование заменено интерфейсами.

Цитата:
Сообщение от JackFromChaos Посмотреть сообщение
В результате программист зависит не от логики, а от реализации компилятора...
Множественное наследование присуствует в стандарте С++. Любой компилятор под него обязан реализовывать множественное наследование.

Думаю, Страуструп дураком не был.

Создать новую тему   Часовой пояс GMT +4, время: 00:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.