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

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.04.2010, 19:46
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 1  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Новосибирск :D
Сообщений: 6,597
Записей в блоге: 17
По умолчанию Помогите найти: 10 причин что вы пишите не ООП-код

Где то года 2 назад читал - там были какие то пункты вроде
- Все классы наследуются от Sprite, или от MovieClip - он как то привычней
- Вы не знаете что такое интерфейсы или не применяете их

И тому подобные. Тогда когда прочитал набрал от силы полпункта ) А чтобы получить зачет там надо было хотя бы 8-9. Статья потерялась, а в голове осталось. У кого нибудь сохранилась она, я найти никак не могу... Интересно, сколько пунктов наберу сейчас

Старый 21.04.2010, 20:03
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
http://riapriority.com/blogs/junik.p...oop_und_flash2 ?

Добавлено через 18 минут
ага, перечитал: на мой глаз актуально и сейчас
особо понравилась теза, что писать/проектировать надо как тебе удобно в контексте текущего проекта, т.е. ООП не догма, а очень удобный инструмент/способ облегчить себе жизнь

Старый 21.04.2010, 20:30
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 3  
Ответить с цитированием
orcpochta
[+1 26.11.11]

Регистрация: Feb 2008
Сообщений: 890
хм... получается, что для дисплэй обджектов

Код AS3:
private function destroy ( ):void
{
    if (parent) parent.removeChild(this);
 
    //остальные очистители
}
- это ересь?)))

что такое высокое зацепление и низкая связанность я тоже не в курсе
__________________
скриптограф

Старый 21.04.2010, 20:33
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 4  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,176
"Вы часто используете наследование. В ваших цепочках наследования порой насчитывается более 5 классов."

что в этом плохого?!

это противоречит их же пункту 8

"Повторное использование кода - это копирование целых классов и методов в новый проект с внесением незначительных изменений. А может и значительных, это как получится."
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 21.04.2010, 20:38
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 5  
Ответить с цитированием
orcpochta
[+1 26.11.11]

Регистрация: Feb 2008
Сообщений: 890
Цитата:
Сообщение от CrazyFlasher Посмотреть сообщение
"Вы часто используете наследование. В ваших цепочках наследования порой насчитывается более 5 классов."

что в этом плохого?!

это противоречит их же пункту 8

"Повторное использование кода - это копирование целых классов и методов в новый проект с внесением незначительных изменений. А может и значительных, это как получится."
вероятно имеется в виду тяга бездумного избыточного наследования ради самого наследования, т.е. когда наследование происходит на уровне "смотрите, я наследую - у меня ООП!")))

повторное использование, видимо, подразумевает создание таких классов, что им не нужны никакие правки - я тоже не совсем понял предъяв по этому пункту
__________________
скриптограф

Старый 21.04.2010, 20:45
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>хм... получается, что..

дык как раз наоборот получается: работает, устраивает - почему ересь?

Цитата:
Сообщение от Junik
..излишняя гибкость и дальновидность может сделать приложение, написанное на actionscript более медленным. А медленные приложения подрывают веру заказчиков в способности технологии flash.

И не надо забывать, что все-таки разработка на flash - это быстрая разработка, поэтому бывает жизненно необходимо отказаться от лишней гибкости и правильности в пользу скорости.

Старый 21.04.2010, 20:51
orcpochta вне форума Посмотреть профиль Отправить личное сообщение для orcpochta Найти все сообщения от orcpochta
  № 7  
Ответить с цитированием
orcpochta
[+1 26.11.11]

Регистрация: Feb 2008
Сообщений: 890
silin, откуда вы ты это берешь? - по ссылке этого не было, вроде
__________________
скриптограф

Старый 21.04.2010, 21:04
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 8  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
там же целый базар-вокзал на тему..
ООП и Flash. Часть 3. О фанатиках, надо читать все для полноты картины, и коммменты тоже интересные, старое, но имо актуальное

да, еще: твой if (parent) parent.removeChild(this); безусловно удобная штука..,
но что-то типа parent.parent.mc это уже путь к гемору и неразберихе: видимо это имелось ввиду..

Старый 21.04.2010, 21:26
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 9  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Новосибирск :D
Сообщений: 6,597
Записей в блоге: 17
Да, оно, спасибо )
Цитата:
Вы часто используете наследование. В ваших цепочках наследования порой насчитывается более 5 классов.
Player extends Airship extends RotativeObject extends FlyingObject extends Sprite3D

5. Теперь объясните мне, что в этом плохого. В игре есть другие Airship`s, которые не игрок, есть вращающиеся объекты, а есть просто статичные летающие, и все экстендится от Sprite3D. Что плохого? Или речь исключительно о наследовании ради наследования?

Если наследование ради наследования, то прошел по 9.5 пунктам. Ушел смотреть что такое
Цитата:
высокое зацепление, низкая связанность
Добавлено через 9 минут
Почитал =) Использую, но не знал что это так правильно называется) Похоже, набрал все 10. Круто
Прочитал фанатизм. Есть чуть-чуть

Я правильно понял, что высокое зацепление и низкая связанность - это параметры взаимоисключающие? Низкая связанность == каждый класс это черный ящик, высокое зацепление == система сцеплена в один ком и ящиками там не пахнет - модули работают тесно друг с другом, а не как черные ящики?

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

Старый 21.04.2010, 22:26
lowka вне форума Посмотреть профиль Отправить личное сообщение для lowka Найти все сообщения от lowka
  № 10  
Ответить с цитированием
lowka

Регистрация: Sep 2006
Сообщений: 256
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Player extends Airship extends RotativeObject extends FlyingObject extends Sprite3D
5. Теперь объясните мне, что в этом плохого. В игре есть другие Airship`s, которые не игрок, есть вращающиеся объекты, а есть просто статичные летающие, и все экстендится от Sprite3D. Что плохого? Или речь исключительно о наследовании ради наследования?
Иногда бывает более уместна некая компонентная модель, в которой сам объект есть набор компонент, определяющих его свойства и т.п.
А подобная цепочка классов в итоге дает лишь головную боль, когда оказывается, что функционал, предоставляемый одним из классов цепочки, необходим в абсолютно стороннем классе. Ошибка проектирования в данном случае налицо.
__________________
:emocry:

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

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

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


 


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


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