|
|
|||||
Регистрация: Jul 2011
Сообщений: 21
|
Архитектура приложения
Доброго всем вечера.
Написал аудио плеер, возник вопрос, насколько грамотна и эффективна его архитектура. Ключевым элементом плеера является, разумеется, SoundChannel. Каким образом должны различные элементы плеера: плейлист (при нажатии на его элемент), панель с кнопочками (при нажатии на них) управлять звуковым каналом? У меня есть родительский класс, от которого наследуются все элементы плеера, которые должны управлять звуком. В этом классе есть статическое свойство типа SoundChannel и несколько методов для управления им (каналом) потомками. На сколько такой подход верен и эффективен? П.С. Подскажите какую-нибудь хорошую литературу по "догмам" и "философии" написания в ОО стиле, а то пока - пишу по наитию... Спасибо! |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Model View Controller или просто MVC - самый распространенный шаблон. Советую почитать про него
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
ActionScript 3.0 - Шаблоны проектирования
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Jul 2011
Сообщений: 21
|
Спасибо за литературу!
А пока я ее не прочел, может кто-нибудь прокомментировать тот принцип работы приложения, что я описал? |
|
|||||
аудиоплеер на самом деле приложение не такого масштаба чтобы имело смысл доробить на сильно большое количество классов
пока не появится какой-нибудь нюанс, вроде необходимости менять скины
__________________
Хороший отдых - половина работы. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
аудиоплеер на самом деле приложение неопределенного масштаба)) Это как сказать "игра это..." Смотря какие задачи ставятся, что от плеера ожидается. Я считаю плеер гораздо более кошерной штукой для самообучения, чем стандартные попытки создать гонки на танках. Но, конечно, смотря какой плеер и какие гонки))))
__________________
Reality.getBounds(this); |
|
|||||
SoundChannel нужно инкапсулировать и реализовать к нему доступ через интерфейс объекта. Не понял - насколько это у тебя реализовано.
Доступ к этому объекту лучше не делать через статические члены класса, а передавать ссылкой твоим управляющим элементам. Тогда у тебя приложение не будет завязано на одном классе, что даст тебе больше гибкости и возможности повторного использования кода. |
|
|||||
Регистрация: Jul 2011
Сообщений: 21
|
Crazyone, у меня есть класс, от которого наследуются все "блоки" плеера. И в этом классе есть protected методы работы с private static var SoundChannel.
Просто я плохо понимаю, как иначе можно это реализовать. Последний раз редактировалось Kolyunya; 07.11.2011 в 09:53. |
|
|||||
Выбрал песню и нажал плей, вылетело:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at blocks::Playlist/_pathHide() at blocks::Playlist/_pathHide() at blocks::Playlist/_pathHide() at blocks::Playlist/_pathHide() at blocks::Playlist/_trackPathHide() at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at blocks::Block/_trackPlay() at blocks::PlaylistButton/_eventClick() Цитата:
И подсказки не помешали бы, я например не понимаю, что за кнопка с палочкой. И после окончания песни вылетает этаже ошибка, назвать этот плеер работающим очень трудно.
__________________
http://www.chessmax.ru Последний раз редактировалось Inet_PC; 07.11.2011 в 09:50. |
|
|||||
Регистрация: Jul 2011
Сообщений: 21
|
Inet_PC, на локальной машине никогда не бывало никаких ошибок, а когда выложил в сеть - они вылезли. Подскажите, пожалуйста, как трейсить ошибки в браузере. Как вы увидели эту ошибку?
П.С. Кнопка с палкой - громкость Ее надо зажать и тащить вверх\вниз. |
Часовой пояс GMT +4, время: 11:10. |
|
« Предыдущая тема | Следующая тема » |
|
|