22

たとえば Java や C# で、デスクトップ アプリケーションまたはスタンドアロン アプリケーションを作成するためのアーキテクチャ フレームワークがあるかどうか疑問に思っています。Web アプリケーションで利用できるリソースはたくさんあるようですが、デスクトップ開発のフレームワークやアーキテクチャのベスト プラクティスに関する優れたリソースはあまり見つかりません。

理想的には、優れたアーキテクチャを持っている、または特定のフレームワークで構築されていると見なされるデスクトップ アプリケーションのソース コードが利用できるかどうかを知りたいです。

4

13 に答える 13

8

適切に作成されたプロジェクトの適切なソース コードを探している場合は、デスクトップ アプリケーションとは直接関係ありませんが、同様の質問をしました。

学ぶべきコード品質が非常に高いオープン ソース C# プロジェクト。

人々はそこでいくつかのかなり良い提案をしました:

于 2008-09-29T20:36:25.817 に答える
7

軽量アプリのカテゴリでは、JSR 296 for Java (将来的には Java 7 になる可能性があります) は、リソース管理やアクションなどの基本を処理するフレームワークです。ここにたくさんのリンクがあります:

少しスケールアップすると、次のようなさまざまな RCP フレームワークを見ることができます。

更新: JSR 296 が Java 7 に含まれる予定であることが (Devoxx '08 で Mark Reinhold によって) 言及されました。

さらなる更新: JSR 296 は廃止されました。JavaFX は、クライアント側 Java の現在の方向性です。

于 2008-09-29T21:45:17.383 に答える
7

「Prism」というコード名の WPF 用の Microsoft のパターンとプラクティスからの新しい.NET アーキテクチャ ガイダンス パッケージがあります。これは基本的に「次世代」の複合 UI アプリケーション ブロック (SCSF ツールなし) です。全体に依存性注入、複合パターンなどを使用します。

それをデモしているかなり良いDNRTVスクリーンキャストがあります。

于 2008-09-29T20:25:39.417 に答える
6

Microsoft のSmart Client Software Factoryを確認してください。コード サンプルとドキュメントが含まれています。

概要

このソフトウェア ファクトリは、複合スマート クライアント アプリケーションの構築および運用中に見られる一般的な課題に対する実証済みのソリューションを提供します。アーキテクトと開発者が、独立したチームによって構築および展開できるモジュラー システムを構築するのに役立ちます。ソフトウェア ファクトリで構築されたアプリケーションは、一元化された例外ログなどの運用に実証済みのプラクティスを使用します。

ソフトウェア ファクトリには、再利用可能なコンポーネントとライブラリ、Visual Studio 2008 ソリューション テンプレート、ウィザードと拡張機能、ハウツー トピック、自動テスト、広範なアーキテクチャ ドキュメント、パターン、リファレンス実装のコレクションが含まれています。ソフトウェア ファクトリは、Windows フォーム、Windows Presentation Foundation、Windows Communication Foundation、および Enterprise Library 3.1 – 2007 年 5 月リリースを使用しています。このリリースでは、複合 UI アプリケーション ブロックがソフトウェア ファクトリに含まれています。

于 2008-09-29T20:08:33.980 に答える
3

Java では、ネイキッド オブジェクト -- http://nakedobjects.org/home/index.shtml

JMatter -- ネイキッド オブジェクトの実装 -- http://jmatter.org/。かなり良い。

どちらもオープンソースです。

于 2008-09-29T20:19:22.800 に答える
3

Java 側では、リッチ クライアント プラットフォームを対象としたプロジェクトがいくつかあります (RCP は「デスクトップ」アプリの新しい流行語です)。

  • Eclipse RCP (Swing の代わりに SWT を使用しても問題ない場合)
  • Spring RCP (Spring Desktop にオーバーホールされる過程にあります)
  • NetBeans RCP (特に印象に残っているわけではありませんが、注目を集めています)
  • JSR 296 (Application Framework) - 私は実際にこれが本当に好きです

上記のいずれかをグーグルで検索すると、大量の情報が得られます。

于 2008-09-30T03:18:08.317 に答える
1

WPFとSilverlightの複合アプリケーションガイダンスが非常に興味深いものであることがわかりました。2009年2月に発行されました。

于 2009-03-19T18:38:27.490 に答える
1

Model View Presenter など、Web 開発で使用するものと同じアプローチをクライアント開発でも使用できます。System.Windows.Forms 名前空間には、C# でクライアント アプリケーションを構築するために必要なものがすべて含まれており、残りの .NET Framework を使用して、必要なサービス (IO やリモート処理など) を提供できます。

デスクトップ アプリのソリッド アーキテクチャのソース コードについては、Paint.NETSharpDevelopのコードを参照してください。どちらも非常に異なるアプローチを持っており、あなたにとって興味深いものになるでしょう。

この返信の .NET 傾斜については申し訳ありません。それは私が一番よく知っています。:)

于 2008-09-29T20:08:19.847 に答える
1

Rockford Lhotka による CSLA .NET フレームワークをお勧めします: http://www.lhotka.net/cslanet/Default.aspx

完全なソース コードと、ASP.NET、WinForms、および WPF で構築されたサンプル クライアント アプリケーションが付属しています。

于 2008-10-14T12:52:57.237 に答える
0

具体的には、ui 関数の整理されたプレゼンテーション フレームワークに対して、infonode ドッキング ウィンドウを使用してきました。これは、Eclipse のような外観を使用するウィンドウ フレームワークです (ビューを任意の場所にドラッグし、閉じる、ドッキングを解除するなど、もちろんスキン可能)。オープンソース製品の gpl バージョンが出ていますが、開発者ライセンスはそれほど高価ではありません (それぞれ 299 ドル)。

于 2008-09-30T06:15:54.707 に答える
0

IdeaBlade の Cabana For DotNet C# を確認してください。 http://www.ideablade.com/CAB.html

カバナサンプルアプリ

Cabana アプリケーションは、簡単に展開して Web 経由で操作できる、鮮明で機能豊富なユーザー エクスペリエンスを備えたシンプルなスマート クライアント リファレンス アプリです。カバナは次のことを示します。

Microsoft の Patterns & Practices Group による Composite UI Application Block への簡単なアプローチ。UI 構成による保守可能で再利用可能なコード。プレゼンテーションからのモデル (ビジネス ロジックとデータ アクセス) の分離。モデル - ビュー - プレゼンター パターン。性能調整。もっと。

于 2009-06-15T22:46:21.017 に答える
0

We develop in .NET technologies here.

Our friends here working on client applications develop their software to the Model View Presenter design pattern that is often associated with Web Development. For them they find it works very well, I believe it may be worth checking out.

The Smart Client Factory (mentioned by Panos) may also be useful to you, though it's not a framework but more of a library of best practice solutions to common problems.

于 2008-09-29T23:26:55.237 に答える
0

最近、DesktopBootstrap を公開しました。これは、中規模から大規模のデスクトップ アプリを作成する際の一般的な要素の多くを除外しようとする私の試みです。

ここで見つけることができます。

于 2011-11-27T20:27:44.460 に答える