Какой самый лучший и подходящий способ написания кода в Winforms?

StackOverflow https://stackoverflow.com/questions/2778657

Вопрос

Каков наилучший способ написания кода ?

(1) Например, непосредственно писать код в button_click() событие.

или

(2) Создайте функцию из того кода, который я пишу в button_click() событие и запишите эту функцию в одном классе, а затем эту функцию я должен вызвать в button_Click() событие.Как оно называется three-tier approach чтобы написать код ?

Как в button_Click() событие, в котором я пишу код для сохранения записей в csv file from datatable. Итак, я должен написать этот код на button_Click() событие или я должен создать одну новую функцию и один новый класс и написать этот код в этой функции, которая является новым классом, и вызвать эту функцию в button_Click() событие.

Это только один пример, но Я говорю обо всем коде, написанном в моем приложении то, что является appropriate and best way to write the code и в чем же заключаются эти преимущества ?Обратите внимание, что я пишу код в Winforms с помощью c #.

Это было полезно?

Решение

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

Также посмотрите на Узор MVC, Вы лучше поймете всю идею.

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

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

Другие советы

Все зависит от ситуации.

Если вы собираетесь сделать обновления в форме, то лучше иметь код обновления в форме. Однако, если есть много обработки, то, безусловно, это лучший дизайн, чтобы иметь отдельный класс обрабатывать работу.

Все зависит от ситуации.

Как правило, вам не нужна никакая логика в обработчике событий, поскольку графические интерфейсы, как правило, предоставляют избыточные механизмы (контекстное меню, строка меню, панель инструментов, клавиша акселератора) для запуска одной и той же команды, а подписи событий несовместимы для всех из них.Тогда возникает вопрос, должна ли ваша общая функция входить в класс Form или в модель данных.

Я часто начинаю с логики в Форме, а затем реорганизую ее в классы моделей по мере необходимости.Многие небольшие приложения никогда не станут достаточно большими, чтобы для удобства обслуживания требовалось несколько классов.До тех пор, пока вы избегаете дублирования кода (т. е.копировать + вставить), тогда рефакторинг будет простым позже, если вы обнаружите, что вам это нужно.

Всегда хорошо разрабатывать классы для рабочих мест. Поскольку он делает ваш код многоразовым, и он также реализует три уровня архитектуры. Преимущество в том, что это легко понять.
Важно то, что, только полезно, если вы разработаете свои классы соответствующим образом. Разработать методы в классе, которые можно многоразоваться для вас.
Другим преимуществом является то, что он скрывает сложность вашего кода.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top