Концепция UC (пользовательский компонент) в Win32 / .NET Win формах - PullRequest
0 голосов
/ 13 февраля 2009

Пару лет назад я когда работал в компании веб-разработчиком. У меня есть моя первая работа по веб-разработке Sirius (ASPx / C #), поэтому она очень интересная, и я многое узнал об этом мире с точки зрения разработчика.

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

Контракт закончился, и я вернулся к разработке win32 «winForm» приложения.

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

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

1 Ответ

1 голос
/ 13 февраля 2009

Если вы используете компоненты макета в Winforms, этот может быть приемлемым подходом, хотя я думаю, что отличает Интернет и Windows Forms (примечание: НЕ WPF!), Что в первом вы делаете много «композитинга», поэтому концепция UserControl так полезна, в то время как в последнем вы работаете с очень сложными элементами управления (например, от третьего лица - в моем последнем выступлении мы использовали невероятный контроль сетки через небольшую компанию под названием Infralution )

Основная проблема, которую я вижу, связана с макетами, поскольку модель рендеринга немного отличается от веб-интерфейса. Я ничего не знаю о вашем приложении, но если оно «работает», это то, что наиболее важно. Я предполагаю, что в этом случае вы используете такие вещи, как FlowLayoutPanel и TableLayoutPanel должным образом.

Если вы хотите пойти по более каноническому пути, обратите внимание не только на создание компонентов, но и на то, как вы можете использовать модель наследования для более надежной компоновки вашего приложения - имея базовый класс Form, в котором есть контейнеры для ваших " Компоненты типа «UserControl» идут, а затем используют какое-то внедрение интерфейса зависимости, чтобы поменять их во время работы приложения.

Наконец, взгляните на некоторые из приложений Windows Forms с открытым исходным кодом, чтобы убедиться, что вы не слишком усердны в себе, поскольку общий интерфейс и повторно используемые компоненты - это цель в каждом приложении. Несмотря на то, что я всегда думал, что материал Microsoft Patterns & Practices балансирует на раздутость, есть несколько хороших идей, и вам следует изучить некоторые подходы Составного блока прикладного интерфейса , которые они выпустили.

Хорошо, не наконец, я хотел бы добавить еще одну вещь: внимательно взглянуть на WPF, который вернет многие концепции из ваших дней веб-разработки и даст вам такую ​​мощь на рабочем столе. применение.

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