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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.01.2012, 04:00
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 421  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Цитата:
Сообщение от Dukobpa3 Посмотреть сообщение
Да как угодно можно. Главное принципы соблюсти.
Вот именно "как угодно" нельзя именно потому, что надо принципы соблюсти.


Цитата:
Сообщение от Dukobpa3 Посмотреть сообщение
Касательно шахмат зачем мне целый двумерный массив из 64-х клеток если я обойдусь одномерным массив на 32 значения. Экономия на спичках, в данном конкретном случае, но всё же. И даже если это будет не 8х8, а некое произвольное поле то вьюхе будет достаочно узнать размерность(два значения) и опять же один одномерный массив юнитов.
MVC не решает задачу - упросить приложение, оно решает задачу - отделить представление от логики. Так
что если вам понадобится в 50 раз больше усилий приложить, будьте добры приложите их. Иначе не "крестите" свою конструкцию MVC, только и всего.

Цитата:
Сообщение от Dukobpa3 Посмотреть сообщение
И разговор наш начинался с карты и юнитов. Тут абсолютно та же ситуация - координаты минимальное чем можно обойтись для воссоздания текущей ситуации.
А вот например есть игра Торибаш. Физика трехмерная, две регдольных куклы файтинги устраивают. Так вот тут нужен именно порядок действий с самого начала боя, так как тут играет роль физика, и очень влияет на исход боя не только текущее положение, а еще и инерция которую мы получили в предыдущих ходах.

Еще может быть какая-то стратегия, чтоб риплеи сохранять и прочее. Ну так ведь это уже другая задача совершенно. К ней и подход другой. Да и тут можно кучу вариантов найти. Либо порядок действий каждого пользователя, либо же набор "скриншотов" модели.
2Dukobpa3. А кто вам вообще сказал, что непременно должна быть реализована MVC? Что других способов
писать приложение уже не осталось? Это единственный возможный вариант строения приложения? Да, наплюйте, как наплевали на это больше половины (наверняка) игроделов.

Да. Реализация этой парадигмы может привести к значительному усложнению приложения, росту нагрузки,
замедлению быстродействия и пр. Ещё раз - MVC не решает эти проблемы, она решает совершенно другое, так, что взвесьте, подумайте нужно ли вам в очередном приложении такая реализация? Может дешевле будет переделать логику когда потребуется переделывать отображение? Если вообще потребуется.

Но если вы ставите логику в зависимость характеристик отображения, то это не MVC.


Последний раз редактировалось fish_r; 18.01.2012 в 16:29.
Старый 18.01.2012, 23:16
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 422  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Цитата:
MVC не решает задачу - упросить приложение, оно решает задачу - отделить представление от логики.
Зато я, как программист, решаю задачу упростить приложение и сократить кол-во трафика и внутреннего и наружного. И если я могу это сделать, не нарушая принципов - то я сделаю. Сократить кол-во информации вдвое просто потому что записал не клетки, а юнитов - да запросто. Использовать обратную польскую запись чтобы отказаться от скобок и лишнего форматирования - опять же только за?

Логика от этого не страдает абсолютно, равно как и парадигма МВЦ, а идти заведомо каким-то сложным путем, если можно проще, смысла не вижу никакого.

И вы мне покажите хоть один источник информации в котором указано каким именно образом должны записываться данные в модель? Формулы какие-то? Правила? Их нету.
__________________
Кто к нам с чем для чего - тот у нас того от того.


Последний раз редактировалось Zebestov; 18.01.2012 в 23:41.
Старый 28.06.2012, 17:05
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 423  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Цитата:
Сообщение от etc Посмотреть сообщение
Crazy, хаоса никакого, просто в 90% случаев контроллеру нужна так или иначе основная модель, для получения прототипов или иной ерунды, поэтому она по умолчанию идёт линком у родительского контроллера и всё тут. Я опираюсь на собственный опыт (а я считаю, что он уже достаточен) и минимизация зависимостей вот как раз в таких случаях — простое помешательство на MVC, выливающиеся в геморрой по передаче 100500 параметров, вот и всё. Да, можно всё сделать по фен-шую, только незачем и никому это не нужно.
А каким образом лучше организовать получение прототипов из основной модели? И еще, как лучще всего получать их в дочерних моделях?
__________________
ranga

Старый 28.06.2012, 17:12
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 424  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от incvizitor Посмотреть сообщение
А каким образом лучше организовать получение прототипов из основной модели? И еще, как лучще всего получать их в дочерних моделях?
Реализовать промежуточный класс с ленивым геттером основной модели. Так называемый ассет основной модели. Всё, кто в неё попадает, может получить на неё ссылку. Ну а оттуда уже к коллекции прототипов и т. д.

Старый 28.06.2012, 17:15
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 425  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Я в базовый класс модели вставляю сылку статическую на основную(серверную) модель.
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
А что такое "прототипы" в этом контексте?

Старый 28.06.2012, 17:25
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 427  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
А что такое "прототипы" в этом контексте?
Прототип — описание характеристик сущности. Своего рода класс сущности.

Старый 28.06.2012, 17:28
incvizitor вне форума Посмотреть профиль Отправить личное сообщение для incvizitor Найти все сообщения от incvizitor
  № 428  
Ответить с цитированием
incvizitor
 
Аватар для incvizitor

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Ага, спасибо. Только что такое "ленивый геттер" ?

А еще вот в swiz, была такая фишка, всё что попадает на сцену проижектывается автоматом. С этой фичей мы избавляемся от маппинга, но за то приобретаем плюся ДИ. Может быть такую систему можно заюзать для того что бы дочерние модели получали то что нужно?
__________________
ranga

Старый 28.06.2012, 17:33
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 429  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от incvizitor Посмотреть сообщение
Ага, спасибо. Только что такое "ленивый геттер" ?

А еще вот в swiz, была такая фишка, всё что попадает на сцену проижектывается автоматом. С этой фичей мы избавляемся от маппинга, но за то приобретаем плюся ДИ. Может быть такую систему можно заюзать для того что бы дочерние модели получали то что нужно?
Ну прям выдерну пример ленивого геттера:

Код AS3:
/**
 * @private
 */
private var _user:UserData;
 
public function get user():UserData {
	if (!this._user || !this._user.contains(this)) {
		this._user = null;
		var parent:DataContainer = super.parent;
 
		while (parent) {
			if (parent is IUserAsset) {
				this._user = (parent as IUserAsset).user;
				break;
			}
 
			if (parent is UserData) {
				this._user = parent as UserData;
				break;
			} 
 
			parent = parent.parent;
		}
	}
 
	return this._user;
}
Хотя в случае с глобальной моделью, уже инжект:

Код AS3:
/**
 * @private
 */
private var _universe:UniverseData;
 
public function get universe():UniverseData {	
	return this._universe;
}
 
[Exclude]
public function set $universe(value:UniverseData):void {
	if (this._universe == value) return;
	if (!value) this.removedFromUniverse();
	this._universe = value;
	if (value) this.addedToUniverse();
 
	if (this is DataContainer) {
		var dc:DataContainer = this as DataContainer;
		var num:int = dc.numChildren;
 
		while (num --> 0) {
			var child:Data = dc.getChildAt(num);
			if (child is IUniverseAsset) child['$universe'] = value;
		}
	}
}

Старый 28.06.2012, 17:45
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 430  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Зачем this._user = null?
Код AS3:
if (!this._user || !this._user.contains(this)) {
		this._user = null;
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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