Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как вам такой подход? / 8 сообщений из 8, страница 1 из 1
05.09.2013, 09:55
    #38387460
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой подход?
Скажите пожалуйста,

корректен ли такой подход отображения формы

this.layoutControl1.Visible = false;
InitializeComponent();
this.layoutControl1.Visible = true;

условие поменялось:

this.layoutControl1.Visible = false;
InitializeComponent1();
this.layoutControl1.Visible = true;

условие поменялось:

this.layoutControl1.Visible = false;
InitializeComponent2();
this.layoutControl1.Visible = true;

условие поменялось:

this.layoutControl1.Visible = false;
InitializeComponent3();
this.layoutControl1.Visible = true;

Заранее благодарен.
...
Рейтинг: 0 / 0
05.09.2013, 10:21
    #38387498
vindofs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой подход?
vahСкажите пожалуйста,

корректен ли такой подход отображения формы

this.layoutControl1.Visible = false;
InitializeComponent();
this.layoutControl1.Visible = true;

условие поменялось:

this.layoutControl1.Visible = false;
InitializeComponent1();
this.layoutControl1.Visible = true;

условие поменялось:

this.layoutControl1.Visible = false;
InitializeComponent2();
this.layoutControl1.Visible = true;

условие поменялось:

this.layoutControl1.Visible = false;
InitializeComponent3();
this.layoutControl1.Visible = true;

Заранее благодарен.
А какая идея?
В чем отличия версий InitializeComponent2?
Если логика и функционал меняется, то лучше на отдельные окна разделить. Если только оформление (одно заблокировано, второе - убрано, например в зависимости от прав), то может и покатит, как корявое решение
...
Рейтинг: 0 / 0
05.09.2013, 10:38
    #38387523
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой подход?
vindofsvahСкажите пожалуйста,

корректен ли такой подход отображения формы

this.layoutControl1.Visible = false;
InitializeComponent();
this.layoutControl1.Visible = true;

условие поменялось:

this.layoutControl1.Visible = false;
InitializeComponent1();
this.layoutControl1.Visible = true;

условие поменялось:

this.layoutControl1.Visible = false;
InitializeComponent2();
this.layoutControl1.Visible = true;

условие поменялось:

this.layoutControl1.Visible = false;
InitializeComponent3();
this.layoutControl1.Visible = true;

Заранее благодарен.
А какая идея?
В чем отличия версий InitializeComponent2?
Если логика и функционал меняется, то лучше на отдельные окна разделить. Если только оформление (одно заблокировано, второе - убрано, например в зависимости от прав), то может и покатит, как корявое решение

почему корявое?
...
Рейтинг: 0 / 0
05.09.2013, 10:46
    #38387538
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой подход?
vindofs,

InitializeComponent...

это разные функции со своим набором контролов
...
Рейтинг: 0 / 0
05.09.2013, 10:49
    #38387540
vindofs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой подход?
vahvindofsпропущено...

А какая идея?
В чем отличия версий InitializeComponent2?
Если логика и функционал меняется, то лучше на отдельные окна разделить. Если только оформление (одно заблокировано, второе - убрано, например в зависимости от прав), то может и покатит, как корявое решение

почему корявое?

Это предположение, т.к. цель не известна
...
Рейтинг: 0 / 0
05.09.2013, 10:58
    #38387553
vindofs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой подход?
vahvindofs,

InitializeComponent...

это разные функции со своим набором контролов

Тогда зачем в одном окне лепить? Мой тебе совет: если что-то одно делает 2 разных задачи, то это 2 разных класса! Если у них есть что-то общее (у этих задач), то это кандидаты на наследование от некоего абстрактного класса.

Как пример из реальной жизни.
у нас есть две разных внешних системы, из которых мы должны брать данные для учета. Они шлют нам каждый день свои отчеты на почту.
Здесь мы выделяем:
1) класс-загрузчик писем, с получением аттачей.
2) класс-наследник для одной системы, который, реализуя абстрактные метод загрузчика, делает свою специфическую работу
3) тоже что и 2, но для второй системы.

Итого: общая логика в абстрактном классе, конкретика в наследниках.

Для больших задач кури шаблоны...
...
Рейтинг: 0 / 0
05.09.2013, 13:28
    #38387837
vah
vah
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой подход?
vindofs,

А может лучше так?

this.layoutControl1.Dispose();
InitializeComponent1();
...
Рейтинг: 0 / 0
05.09.2013, 13:49
    #38387882
vindofs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как вам такой подход?
vahvindofs,

А может лучше так?

this.layoutControl1.Dispose();
InitializeComponent1();

Честно говоря, даже задумываться лень о корректности этого кода)

Я тебя понимаю, когда хочется универсальный суперкласс сделать. Или форму, которая будет делать все))) Большинство через это проходили, в том числе и я, конечно же. Поверь, это ведет к аааду и макаронному коду, когда класс одной формы содержит более 2000 строк.

Если надо быстро что-то сделать и это не будет дальше развиваться - делай как быстрее, и как ты сейчас это видишь.
Но почитай все же книжки по шаблонам (паттернам), полистай инет по теме проектирования классов и приложений. Поверь, если планируешь развиваться в программиста, а не кодера (который просто вбивает текст), то тебе поможет прочтенное.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как вам такой подход? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]