相关疑难解决方法(0)

在Dart中实现Observer模式

我想在Dart中实现一个观察者模式,但我不确定如何去做.

假设我有一节课:

class MyClass {

  String observed_field;

}
Run Code Online (Sandbox Code Playgroud)

现在,每当我更改字段时,我都想将"observe_field changed"字符串打印到控制台中.使用自定义setter非常简单:

class MyClass {

  String _observed_field;

  get observed_field    => _observed_field;
  set observed_field(v) {
    _observed_field = v;
    print("observed_field changed");
  }

}
Run Code Online (Sandbox Code Playgroud)

当然,现在,如果我没有一个,但很多这些领域,我不想创建所有那些getter和setter.明显的理论解决方案是将它们动态地添加到类中(不是工作代码,只是我希望它看起来的一个示例):

class MyClass

  String  _observeable_field;
  String  _observeable_field_2;

  observe(#observeable_field, #observeable_field_2);

end
Run Code Online (Sandbox Code Playgroud)

它甚至可能吗?另外,如果没有在observe()调用之上定义那些字段,那将是非常棒的,而是写下这样的内容:

observe(String: #_observeable_field, String: #_observeable_field_2);
Run Code Online (Sandbox Code Playgroud)

这样就可以自动声明这些字段.

dart

9
推荐指数
1
解决办法
3444
查看次数

标签 统计

dart ×1