Один UserControl для всех классов или несколько UserControl для каждого класса?

79
20 февраля 2022, 02:40

В моей программе имеется множество UserControl'ов .Они похожи, но в тоже время отличаются. К примеру, они имеют одну и ту же форму, один тип заголовка, пары textBox/label, а отличаются текстом заголовка, цветом самого UserControl'а, количеством пар textBox/label и типом данных, которые могут содержать эти textBox'ы. UserControl'ы могут выглядеть таким образом:

и пр.

Я подумываю создать множество классов для каждого шаблона для содержания логики и данных. И только один класс типа UserControl для отображения. Например:

  • Template - Родительский класс.

    • Template1 - Наследный класс. Содержит поля и логику первого шаблона.
    • Template2 - Наследный класс. Содержит поля и логику второго шаблона.
    • Template3 - Наследный класс. Содержит поля и логику третьего шаблона.
    • etc.
  • UserControlTemplate - класс для отображения. Только один.

И я планирую создавать объект класса UserControlTemplate внутри определенного шаблона и просто передавать необходимые параметры контролу. Хорошая ли это идея? Или лучше создать отдельные UserControlTemplate классы для каждого шаблона? Например вот так:

  • UserControlTemplate - Родительский класс.
    • UserControlTemplate1 - наследный класс. Отображает только первый шаблон.
    • UserControlTemplate2 - наследный класс. Отображает только второй шаблон.
    • UserControlTemplate3 - наследный класс. Отображает только первый второй третий шаблон.
    • и пр.

Как думаете, какой вариант будет лучше?

READ ALSO
Передача массива в другую функцию

Передача массива в другую функцию

Как можно реализовать передачу массива из одной функции в другую? Перепробовал уже несколько способов, но к сожалению они не хотят работатьМне...

127
Выборка строки RadGridView

Выборка строки RadGridView

Как по нажатию клавиши мыши, выбрать всю строку в RadGridView и поместить элементы в List?

86
Dependency injection в ASP.Net Core

Dependency injection в ASP.Net Core

Сейчас сделано так

98
asp.net publish и регистр букв

asp.net publish и регистр букв

Пользуюсь VS 2019

181