哪个是更好的实现?使用Parsley框架的Flex编程



我对事件驱动编程和使用MVC还很陌生,所以如果这个问题看起来没有问题,请原谅我。

我正在尝试为我的单例模型类(Client)赋值。我有两个选择:

  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]),但我知道给模型赋值是控制器的工作

更好是相对的。

第二个例子是通常所说的"属性注入"。

基本上,第一个选项是更快、更小、代码更少。

第二种选择更具可读性和灵活性。

不管控制器是什么,注入都有好处,可以为每个属性创建getter和setter。

因此,基本上,只要您更改"name"属性的值,就可以发生一些事情,例如调度事件。

flex源代码中充满了这个概念。例如,每当您更改组的宽度时,它不仅会更改值,还会执行检查,然后将组设置为脏组,以便其他东西可以对此做出反应。

基本上,它让一切都做自己的事情变得简单,而且它更面向对象。

所有这些并不意味着它实际上更好,但现在以第二种选项样式编写代码更为常见。

希望能有所帮助。

最新更新