none
Использование MVP (MVC) в WinForms RRS feed

  • Вопрос

  • Вопрос по архитектуре. Приложение WinForms, хочется использовать паттерн MVP (MVC).

    Есть к примеру класс Clients (сгенерированый linq to sql), реализующий работу с клиентами. Через partial расширяем его методом .OpenCard() который открывает карточку клиента. В методе мы показываем форму карточки, например так:

    public OpenCard()

    {

    Form_Client form = new Form_Client();

    form.CurrentClient=this;

    frm.ShowDialog();

    }

    ... и используем этот метод во многих разделах программы, например так:

    if (listbox_cl.SelectedIndex>=0)

    {

    Clients Client =(Clients listbox_cl.SelectedItem();

    Client.OpenCard();

    }

    Вопрос в том, что хочется разделить формы и работу с данными в программе. В идеале вообще выделить формы в отдельные dll, которые в зависимости от специфики работы подгружаются разные. Но при этом не хочется писать кучу промежуточного кода. К примеру, делать отдельные переменные или свойства под каждое поле класса Clients на самой форме карточки нереально - получится огромное количество Ctrl-C/Ctrl-V с массой ошибок.

    Классов таблиц в системе много (>100), полей во многих таблицах тоже много и использовать например позднее связывание просто боюсь из за объема кода, который придется написать.

    Паттерн Фасад использовать не хочется, боюсь нагромождения.

    Где можно почитать как это сделать? Язык C#



    • Изменено small_dragon 2 ноября 2012 г. 15:03
    2 ноября 2012 г. 14:58

Ответы

Все ответы