Подтвердить что ты не робот

Настольные приложения: архитектурные рамки?

Мне интересно, существуют ли какие-либо архитектурные рамки для создания настольных или автономных приложений, например, в Java или С#. Похоже, что для веб-приложений их много, но я не могу найти много хороших ресурсов в инфраструктурах или лучших архитектурных решениях для разработки настольных систем.

В идеале я хотел бы знать, есть ли какой-либо исходный код для настольных приложений, которые считаются имеющими хорошую архитектуру или построены с определенной структурой.

4b9b3361

Ответ 1

Не имея прямого отношения к настольным приложениям, если вы ищете достойный исходный код для хорошо написанных проектов, я задал аналогичный вопрос:

Проекты с открытым кодом С#, которые имеют чрезвычайно высокое качество кода для изучения.

Люди дали несколько хороших предложений:

Ответ 2

Там есть новый .NET архитектурный пакет рекомендаций от шаблонов и практик Microsoft для WPF, который называется кодом Prism - это в основном блок "Composite UI Application" следующего поколения (без инструмента SCSF). Он использует инъекцию зависимостей, композитный шаблон и т.д.

Существует довольно хороший DNRTV screencast, демонстрирующий его.

Ответ 3

В категории легкого приложения JSR 296 для Java (возможно, в будущем Java 7, возможно) представляет собой платформу, обрабатывающую основы, такие как управление ресурсами и действия. Здесь много ссылок:

Масштабирование немного, вы можете посмотреть на различные рамки RCP, например:

ОБНОВЛЕНИЕ: было упомянуто (Марк Марк Рейнхольд в Devoxx '08), что JSR 296 будет включен в Java 7.

Дальнейшее обновление: JSR 296 мертв. JavaFX - это текущее направление для клиентской Java.

Ответ 4

Проверьте Microsoft Программное обеспечение Smart Client Factory. Он содержит образцы кода и документацию.

Обзор

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

Программное обеспечение factory содержит сбор повторно используемых компонентов и библиотеки, решение Visual Studio 2008 шаблоны, мастера и расширения, Практические темы, автоматизированные тесты, обширная документация по архитектуре, шаблонов и ссылки реализация. Программное обеспечение factoryиспользует Windows Forms, Windows Презентационный фонд, Windows Коммуникационный фонд и Корпоративная библиотека 3.1 - май 2007 г. выпуск. С этим выпуском Компонентный блок пользовательского интерфейса включен в программное обеспечение factory.

Ответ 6

На стороне Java существует несколько проектов, нацеленных на Rich Client Platforms (RCP - новое модное слово для приложений для настольных компьютеров):

  • Eclipse RCP (если вы используете SWT вместо Swing).
  • Spring RCP (который находится в процессе переработан в рабочий стол Spring)
  • NetBeans RCP (который я не   особенно впечатлен, но   что получает некоторую тягу)
  • JSR 296 (Application Framework) - я   действительно действительно нравится этот

Google любой из вышеперечисленных, и вы получите тонны информации.

Ответ 7

Вы можете использовать некоторые из тех же подходов в разработке клиентов, которые вы используете в веб-разработке, например Model View Presenter. В пространстве имен System.Windows.Forms есть все, что вам нужно для создания клиентского приложения на С#, а остальная часть платформы .NET Framework доступна для предоставления необходимых вам услуг (например, ввода-вывода и удаленного доступа).

Что касается исходного кода для твердых архитектур в настольных приложениях, посмотрите код Paint.NET и SharpDevelop. Оба имеют очень разные подходы, которые будут вам интересны.

Извините за уклон .NET этого ответа. Это то, что я знаю лучше всего.:)

Ответ 8

Я бы рекомендовал CSLA.NET framework Rockford Lhotka: http://www.lhotka.net/cslanet/Default.aspx

Он поставляется с полным исходным кодом, а также с примерами клиентских приложений, созданных в ASP.NET, WinForms и WPF.

Ответ 10

Мы разрабатываем технологии .NET здесь.

Наши друзья, работающие над клиентскими приложениями, разрабатывают свое программное обеспечение для шаблона проектирования Model View Presenter, который часто ассоциируется с веб-разработкой. Для них они находят, что это работает очень хорошо, я считаю, что стоит проверить.

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

Ответ 11

В частности, для организованной структуры представления функций ui мы использовали инфодонные стыковочные окна, что каркас окон с использованием затмения, подобного внешнему виду (drag взгляды в любом месте, закройте их, отстыкуйте их и т.д., скины, конечно). есть версия gpl для продуктов с открытым исходным кодом, хотя афайк лицензии разработчика не так дорог (по 299 долларов США).

Ответ 12

Проверьте IdeaBlade Cabana для DotNet С#. http://www.ideablade.com/CAB.html

Пример приложения Cabana

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

Простой подход к составному блоку приложений пользовательского интерфейса из группы шаблонов и практик Microsoft. Поддерживаемый, многоразовый код через композицию пользовательского интерфейса. Разделение модели (бизнес-логика и доступ к данным) из презентации. Модель-View-Presenter. Настройка производительности. И более.

Ответ 13

Недавно я опубликовал DesktopBootstrap. Это моя попытка отделить многие из общих элементов создания настольных приложений среднего и крупного масштаба.

Вы можете найти здесь.