Настольные приложения: архитектурные рамки? - PullRequest
22 голосов
/ 30 сентября 2008

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

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

Ответы [ 13 ]

8 голосов
/ 30 сентября 2008

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

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

Люди дали там довольно хорошие предложения:

7 голосов
/ 30 сентября 2008

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

Немного увеличив масштаб, вы можете взглянуть на различные платформы RCP, например:

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

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

7 голосов
/ 30 сентября 2008

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

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

6 голосов
/ 30 сентября 2008

Проверьте Microsoft Smart Client Software Factory . Содержит примеры кода и документацию.

Обзор

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

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

3 голосов
/ 30 сентября 2008

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

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

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

3 голосов
/ 30 сентября 2008

В Java голые объекты - http://nakedobjects.org/home/index.shtml

JMatter - реализация голых объектов - http://jmatter.org/. довольно хорошо.

оба они с открытым исходным кодом.

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

Я только что нашел Руководство по составному применению для WPF и Silverlight , которое выглядит очень интересно Опубликовано в феврале 2009 года.

1 голос
/ 14 октября 2008

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

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

1 голос
/ 30 сентября 2008

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

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

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

0 голосов
/ 28 ноября 2011

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

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

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