Я часто вижу очень разные реализации Pattern View Controller Pattern, и полностью понимаю, что вы должны адаптировать и использовать то, что соответствует вашим потребностям наилучшим образом, но мне было интересно, каковы будут преимущества / недостатки / лучшие практики ведения простой игры логика в эфире контроллер или модель?
В сущности, как правильно мне поступить?
для этого простого примера игрок получает урон, и я перечислил три возможных способа борьбы с ним:
1.
Контроллер илит:
_model.playerDamage - 15;
if (_model.playerDamage <= 0){
_model.playerLives --;
_model.restartLevel();
}
2.
контроллер:
_model.playerDamage = 15;
Модель:
function set playerDamage(value:int){
playerDamage = value;
updatePlayer();
}
function updatePlayer():void{
if (playerDamage<=0){
palyerLives --;
restartLevel();
}
}
3.
контроллер:
_model.playerDamage = 15;
_model.addEventListener('playerChange', checkPlayerStatus);
function checkPlayerStatus(e:Event):void{
if (_model.playerDamage<=0){
_model.playerLives --;
_model.restartLevel();
}
}
Модель:
function set playerDamage(value:int){
playerDamage = value;
dispatchEvent(new Event('playerChange'));
}