Цитата:
Сообщение от Nooob
Под иерархией проекта я говорю про содержимое проекта, то какие классы в нем содержатся и какие пакеты есть. минималистичный пример:
|
Фига себе минималистичный! Надеюсь, это ты не за чашкой кофе за 10 минут ночью налабал?
Получается, что в пакете data - вся справочная информация, в model - вся игровая механика, расчёты и т.п., а view - пакет для визуализации всего этого хозяйства. Понятно. Вопрос, в чём преимущество создания отдельных пакетов и постоянного импорта двух других в каждый, по сравнению с созданием единого пакета для всей игры, и настройки взаимодействия на уровне отношений исключительно между классами?
И ещё ряд вопросов по коду:

Код AS3:
public class Game extends Sprite
{
private const _model:BattleModel = new BattleModel();
private const _view:BattleView = new BattleView();
Я так понимаю, что _model и _view = это экземпляры классов BattleModel и BattleView для быстрого обращения к математике и графике. Почему в виде констант?

Код AS3:
public class BattleData
{
private static const map:Dictionary = new Dictionary();
public static function find(key:String):BattleData
{
return map[key] ||= new BattleData(key);
}
Получается, что у тебя тут некое хранилище данных, организованное с помощью класса Dictionary, и весь функционал класса - это вытащить и вернуть нужное значение по полученному key. Опять не понимаю, почему map записана в форме константы. И выражение return map[key] ||= new BattleData(key); взрывает мой мозг

До логического OR более-менее понимаю (это судя по всему как раз обращение к экземпляру map класса Dictionary по ключу key), а вот в чём соль правой части - совсем не понятно.
Последний мини-вопрос. Обратил внимание, что у тебя и у
Wolsh многие переменные в коде записаны с символа "_", но не все. Какая тут логика? Я такое в некоторых книгах встречал (не у Мука).