Цитата:
Сообщение от Appleman
Вопрос, в чём преимущество создания отдельных пакетов и постоянного импорта двух других в каждый, по сравнению с созданием единого пакета для всей игры, и настройки взаимодействия на уровне отношений исключительно между классами?
|
разделив все по пакетам ты тем самым выделяешь отдельные блоки взаимоотношений и классы с полями/методами internal в общем пакете могут работать с ними как с публичными, классы в разных пакетах эти поля видеть не будут, например в model методы findEnemy/hit можно смело пометить как internal
Цитата:
Сообщение от Appleman
 Код AS3:
public class BattleData
{
private static const map:Dictionary = new Dictionary();
public static function find(key:String):BattleData
{
return map[key] ||= new BattleData(key);
}
И выражение return map[key] ||= new BattleData(key);
|
это короткая запись

Код AS3:
var data:BattleData = map[key];
if(data == null)
{
data = new BattleData(key);
map[key] = data;
}
return data;
//или
return map[key] || map[key] = new BattleData(key);
оператор ||= обозначает что если выражение слева ложное false/null/0, то приравнять к нему выражение справа, ну и любая операция приравнивания так же возвращает это значение, поэтому его можно передать в return
Цитата:
Сообщение от Appleman
Последний мини-вопрос. Обратил внимание, что у тебя и у Wolsh многие переменные в коде записаны с символа "_", но не все. Какая тут логика? Я такое в некоторых книгах встречал (не у Мука).
|
переменными "_" принято обозначать приватные поля класса которые затем могут быть открыты для чтения/записи через get/set, просто удобство в случае пересечения имен публичных и приватных полей класса