Знаете ли вы какие-либо шаблоны программирования с графическим интерфейсом?(Не шаблоны проектирования графических интерфейсов)

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

  •  08-06-2019
  •  | 
  •  

Вопрос

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

Допустим, я хочу создать элемент управления, который отображает некоторые объекты, которые могут перекрываться.Теперь, если я нажму на объект, мне нужно выяснить, что делать (просто найти объект я могу несколькими способами, такими как квадродерево и Z-порядок, это не проблема).А также я могу удерживать клавишу-модификатор, или какой-то объект активен с самого начала, что немного усложняет выделение или что-то еще.Должен ли у меня быть экземпляр объекта, представляющий объект экрана, обрабатывать действия пользователя при нажатии или мастер-класс.и т. д..Какие существуют модели или решения для подобных проблем?

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

Решение

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

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

У меня есть О'Рейли Шаблоны проектирования с головой вперед и Плакат, что я считаю бесценным!

Бесстыдная пробка:Эти ссылки используют идентификатор моего партнера.

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

В книге «Объектно-ориентированное проектирование и шаблоны» Кея Хорстманна есть глава под названием «Шаблоны и программирование графического пользовательского интерфейса».В этой главе Хорстманн затрагивает следующие закономерности:

  • Менеджеры макетов наблюдателей и
  • Компоненты шаблона стратегии,
  • Контейнеры и составной шаблон
  • Полосы прокрутки и шаблон декоратора

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

В этом случае может помочь шаблон: Модель наблюдателя.

Я знаю, что вы сказали, что он не такой глобальный, как MVC, но есть некоторые варианты MVC, в частности HMVC и PAC, которые, я думаю, могут ответить на вопросы, подобные тем, которые вы задаете.

Кроме этого, попробуйте написать новый код «в духе» существующих шаблонов, даже если вы не применяете их напрямую.

возможно, вы ищете что-то вроде «MouseTrap», которое я видел в некоторых статьях о codeproject (найдите «Платформа пользовательского интерфейса»)?

Мне тоже эта серия показалась очень полезной http://codebetter.com/jeremymiller/2007/07/26/the-build-your-own-cab-series-table-of-contents/ где вы можете взглянуть на встроенные контроллеры и т. д.

Миша.

Вы смотрите на профессиональное прикладное программирование.Я долго искал советы и подсказки, но безуспешно.К сожалению, ничего полезного вы не найдете, это сложная тема и только с многолетним опытом вы сможете понять, как эффективно написать приложение.Например, почти каждая программа открывает файл, извлекает информацию, показывает ее в разных формах, позволяет обрабатывать, сохранять,...но никто не объясняет, что именно является хорошей стратегией и так далее.Кроме того, если вы пишете большое приложение, вам необходимо рассмотреть некоторые стратегии, позволяющие сократить время компиляции (в противном случае вам придется часами ждать при каждой компиляции).Например, вам помогут идиомы Impls в C++.И это еще не все.По этой причине разработчикам программного обеспечения хорошо платят и существует так много рабочих мест :-)

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