Реализовать шаблон Observer в Dart

Я хотел бы реализовать шаблон наблюдателя в Дарт, но яЯ не уверен, как это сделать.

Позволять'скажем, у меня есть класс:

class MyClass {

  String observed_field;

}

Теперь, когда я меняю поле, ялюблю печататьПоле наблюдения изменено " строка в консоль. Довольно просто сделать с помощью пользовательского сеттера:

class MyClass {

  String _observed_field;

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

}

Теперь, конечно, если бы у меня было не одно, а много таких полей, я бы неЯ не хочу создавать все эти методы получения и установки. Очевидное теоретическое решение состоит в том, чтобы динамически добавлять их в класс с помощью чего-то вроде этого (не рабочий код, просто пример того, как я хотел бы, чтобы это выглядело):

class MyClass

  String  _observeable_field;
  String  _observeable_field_2;

  observe(#observeable_field, #observeable_field_2);

end

Это вообще возможно? Кроме того, было бы очень здорово, если бы эти поля не были определены вышеobserve() позвоните, а лучше напишите что-то вроде:

observe(String: #_observeable_field, String: #_observeable_field_2);

Так что эти поля объявляются автоматически.

Ответы на вопрос(1)

Ваш ответ на вопрос