Когда неуправляемые библиотеки DLL должны отображать окна и другие элементы графического интерфейса? - PullRequest
0 голосов
/ 04 августа 2010

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

Ответы [ 2 ]

1 голос
/ 04 августа 2010

С чего бы это плохо?

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

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

0 голосов
/ 04 августа 2010

Я считаю, что использование механизма исключений - лучший способ для этого.

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