Дизайн приложения Windows C # Form - PullRequest
1 голос
/ 03 марта 2009

У меня есть приложение c # windows form, в котором мы сделали быстрый прототип для клиента. Мой опыт работы с c # связан с ASP.NET/C#, поэтому он немного отличается, когда речь идет о реальной структуре программного обеспечения. Время является одним из факторов в этом проекте, так как это школьный проект, и у нас осталось чуть меньше двух месяцев.

Программное обеспечение будет в основном базироваться на базе данных.

Текущий дизайн проекта

В настоящее время есть 1 форма главного окна и несколько файлов классов.

Одна из идей, которые у нас возникли, заключается в том, что, поскольку большая часть действительного кода программы будет находиться в классах, нужно ли нам просто разбивать оконную форму на кучу маленьких оконных форм с одним, так сказать, основным драйвером? или просто оставьте одну большую форму и постарайтесь, чтобы в основной форме выигрыша было как можно меньше кода?

Каковы ваши пожелания по разработке приложения Windows Form, управляемого базой данных c #?

Пожалуйста, дайте "за" и "против" каждому.

Ответы [ 3 ]

1 голос
/ 03 марта 2009

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

1 голос
/ 03 марта 2009

Лично я предпочитаю MDI (Multiple Document Interface) над одной формой, потому что одна форма может стать загроможденной без тщательного планирования. Также большинству клиентов нравится идея MDI для приложений, управляемых базой данных, потому что она напоминает им Microsoft Access. Мне также нравится идея разбить все на классы. Эмпирическое правило, которое я использую для определения погоды или не для занятий, гласит: «Нужно ли мне когда-либо в моей карьере программиста снова делать Х? В этом случае X - это то, что вы поместите в этот класс (например, определите високосный год). Если вы думаете, что ваша форма не будет загромождена, тогда полностью перейдите на одну форму. Надеюсь, это поможет вам решить.

0 голосов
/ 03 марта 2009

Монолитная форма, которая обеспечивает функциональность "кухонная раковина", ничуть не хуже, чем монолитная форма, которая обеспечивает функциональность "кухонная раковина".

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

Разбейте приложение на более мелкие формы, которые делают меньше. Каждая форма должна делать одну вещь и делать это ОЧЕНЬ хорошо. Его функциональные возможности должны быть четко определены, согласованы и настолько слабо связаны, насколько это возможно. Постарайтесь не использовать код базы данных (переместите этот код в свои классы и вызовите их из формы).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...