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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.11.2011, 22:36
Kolyunya вне форума Посмотреть профиль Отправить личное сообщение для Kolyunya Найти все сообщения от Kolyunya
  № 1  
Ответить с цитированием
Kolyunya

Регистрация: Jul 2011
Сообщений: 21
По умолчанию Архитектура приложения

Доброго всем вечера.
Написал аудио плеер, возник вопрос, насколько грамотна и эффективна его архитектура.
Ключевым элементом плеера является, разумеется, SoundChannel. Каким образом должны различные элементы плеера: плейлист (при нажатии на его элемент), панель с кнопочками (при нажатии на них) управлять звуковым каналом?

У меня есть родительский класс, от которого наследуются все элементы плеера, которые должны управлять звуком. В этом классе есть статическое свойство типа SoundChannel и несколько методов для управления им (каналом) потомками.
На сколько такой подход верен и эффективен?


П.С. Подскажите какую-нибудь хорошую литературу по "догмам" и "философии" написания в ОО стиле, а то пока - пишу по наитию...
Спасибо!

Старый 06.11.2011, 22:38
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Model View Controller или просто MVC - самый распространенный шаблон. Советую почитать про него

Старый 06.11.2011, 23:19
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 3  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
Подскажите какую-нибудь хорошую литературу по "догмам" и "философии" написания в ОО стиле, а то пока - пишу по наитию...
Классика жанра
ActionScript 3.0 - Шаблоны проектирования
__________________
Reality.getBounds(this);

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

Регистрация: Jul 2011
Сообщений: 21
Спасибо за литературу!
А пока я ее не прочел, может кто-нибудь прокомментировать тот принцип работы приложения, что я описал?

Старый 06.11.2011, 23:44
artcraft вне форума Посмотреть профиль Отправить личное сообщение для artcraft Посетить домашнюю страницу artcraft Найти все сообщения от artcraft
  № 5  
Ответить с цитированием
artcraft
 
Аватар для artcraft

блогер
Регистрация: Aug 2005
Адрес: www.artcraft.cz
Сообщений: 1,967
Записей в блоге: 6
Отправить сообщение для artcraft с помощью ICQ
аудиоплеер на самом деле приложение не такого масштаба чтобы имело смысл доробить на сильно большое количество классов

пока не появится какой-нибудь нюанс, вроде необходимости менять скины
__________________
Хороший отдых - половина работы.

Старый 07.11.2011, 01:43
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
аудиоплеер на самом деле приложение неопределенного масштаба)) Это как сказать "игра это..." Смотря какие задачи ставятся, что от плеера ожидается. Я считаю плеер гораздо более кошерной штукой для самообучения, чем стандартные попытки создать гонки на танках. Но, конечно, смотря какой плеер и какие гонки))))
__________________
Reality.getBounds(this);

Старый 07.11.2011, 02:40
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 7  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
SoundChannel нужно инкапсулировать и реализовать к нему доступ через интерфейс объекта. Не понял - насколько это у тебя реализовано.

Доступ к этому объекту лучше не делать через статические члены класса, а передавать ссылкой твоим управляющим элементам. Тогда у тебя приложение не будет завязано на одном классе, что даст тебе больше гибкости и возможности повторного использования кода.

Старый 07.11.2011, 09:32
Kolyunya вне форума Посмотреть профиль Отправить личное сообщение для Kolyunya Найти все сообщения от Kolyunya
  № 8  
Ответить с цитированием
Kolyunya

Регистрация: Jul 2011
Сообщений: 21
Crazyone, у меня есть класс, от которого наследуются все "блоки" плеера. И в этом классе есть protected методы работы с private static var SoundChannel.

Просто я плохо понимаю, как иначе можно это реализовать.


Последний раз редактировалось Kolyunya; 07.11.2011 в 09:53.
Старый 07.11.2011, 09:39
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 9  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Выбрал песню и нажал плей, вылетело:
Код AS3:
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.
Старый 07.11.2011, 09:58
Kolyunya вне форума Посмотреть профиль Отправить личное сообщение для Kolyunya Найти все сообщения от Kolyunya
  № 10  
Ответить с цитированием
Kolyunya

Регистрация: Jul 2011
Сообщений: 21
Inet_PC, на локальной машине никогда не бывало никаких ошибок, а когда выложил в сеть - они вылезли. Подскажите, пожалуйста, как трейсить ошибки в браузере. Как вы увидели эту ошибку?

П.С. Кнопка с палкой - громкость Ее надо зажать и тащить вверх\вниз.

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

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

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


 


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


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