Лучшие практики для графического интерфейса посредника C # (Winforms) - PullRequest
0 голосов
/ 06 сентября 2011

Я занимаюсь разработкой приложения и хочу, чтобы мой клиентский класс был как можно более чистым. Я думал об использовании шаблона посредника (можно найти по следующему адресу) http://www.codeproject.com/KB/aspnet/SoftArch2.aspx

проблема в том, что мой графический интерфейс может содержать много элементов управления и потребует много обслуживания. Полезно ли иметь ссылку на мою клиентскую форму в классе-посреднике, например:

class GuiMediatorObj
{

  private static mainForm _clientForm

  public GuiMediatorObj(mainForm parent)
  {
            _mainForm = parent;
  }

 public void print()
 {
     clientForm.TextBox1.Text = "some text;
 }

}

спасибо

1 Ответ

0 голосов
/ 07 сентября 2011

Отказ от ответственности: я раньше не использовал шаблон посредника. (по крайней мере, сознательно)

Но, судя по всему, то, что вы предлагаете, не представляет никакой проблемы, я бы даже сказал, что это лучше, потому что позволяет повторно использовать один и тот же посредник в похожих формах и удаляет еще больше кода из сама родительская форма. Вы также можете думать об этом, как о «украшении» формы новыми функциями. (см. также шаблон декоратора)

Конечно, это также зависит от цели посредника: если вы хотите иметь возможность быстро переключаться между текстовыми полями, тогда требуется, чтобы каждый отдельный элемент управления был добавлен вручную, чтобы быть лучше, но если вы «добавляете функции» к универсальному формы с определенными свойствами и хотите повторно использовать ее в нескольких похожих формах, было бы лучше принять всю форму в качестве входных данных.

Это также зависит от того, насколько хорошо вы инкапсулируете свою форму. Если все дочерние элементы управления по какой-то причине уже закрыты, то сделать их общедоступными для доступа к ним в посреднике может быть плохой идеей.

...