Какая реализация лучше? Гибкое программирование с использованием Parsley Framework - PullRequest
0 голосов
/ 22 февраля 2012

Я довольно новичок в программировании, управляемом событиями, и использую MVC, так что простите, если этот вопрос не вызывает вопросов.

Я пытаюсь присвоить значения моему классу одноэлементной модели (Клиент). У меня есть 2 варианта:

  1. Я могу использовать конструктор класса модели для присваивания себе так:

    Клиент класса {

         public var name;
         public var email;
    
         public function Client(arg_name, arg_email){
             this.name = arg_name;
             this.email = arg_email;
           } 
      }
    
  2. Я могу использовать контроллер для назначения своих значений для меня так:

    Class Controller{
         public var client:Client = new Client();
    
         public function assign(){
            client.name = "booo";
            client.email = "blaaah@email.com";
         }
    

    }

Какой из них является лучшим решением? :) Причина, по которой я так растерялся, заключается в том, что я видел примеры, которые просто передают значения классу модели и выполняют # 1 (и устанавливают новые переменные, такие как [var fullname = fname + lname], но я знаю, что тот факт, что задачей контроллера является присвоение значений модели.

1 Ответ

0 голосов
/ 19 мая 2012

лучше относительно.

Второй пример - это то, что обычно называют «инъекцией свойств».

По сути, первый вариант - это более быстрый, меньший по размеру и значительно меньший код.

Второй вариант болееудобочитаемым и гибким.

Независимо от контроллера, инжекция имеет то преимущество, что вы можете создавать геттеры и сеттеры для каждого свойства.

Таким образом, в принципе вы можете что-то произойти, например, отправив событие, когда бы вы ниизмените значение свойства "name".

Исходный код flex заполнен этой концепцией.Например, когда вы изменяете ширину группы, она не просто меняет значение, она выполняет проверки, а затем устанавливает группу как грязную, чтобы другие вещи могли на нее реагировать.

По сути, это упрощает, когда все делает свое дело, и оно более объектно-ориентировано.

Все это не означает, что на самом деле это лучше, но сейчас это более распространено, чтобы писатькод во втором стиле.

Надеюсь, это поможет.

...