3

注文、在庫管理、販売、レポートなどの通常の機能を備えた基本的な「基幹業務」アプリケーションを開発する必要があります。

WPF を使用してこのアプリケーションを Windows で実行するように開発しますが、「オープン」に開発したいので、同じ構造 (おそらくMonoで実行する) またはSilverlightモジュールを使用して Windows フォーム アプリケーションを実行できます。そのようなことをした(そして生き残った)誰かが、私が良い実践を見つけることができるガイドラインまたはそのようなものについての提案を私に与えることができますか?私はDelphi開発者であり、C# についてある程度の知識がありますが、「すばらしい」ライブラリ、フレームワーク、およびパターンが非常に多くあるため、そのプロジェクトに何が適しているかについて少し迷っています。

のようなもの: EF (たぶん ef4 を待つ?) またはnHibernate、または ADO.NET を使用し、WCF または Web サービスを使用してデータを公開するか、柔軟性が失われるなどの理由で Mono を忘れます。やりますか?誰かがこのタイプのプロジェクトで悪い経験をしている場合は、あなたからの連絡もお待ちしています. 間違った決定からも多くのことを学ぶことができます :)

4

6 に答える 6

3

Mono は WPF を実装しておらず、ロードマップにもありません。Entity Frameworkについてはよくわかりません...

おそらくSilverlight(オープンソースの実装がある)でそれを行うことができますが、デスクトップの作成には理想的ではありません(Silverlight 3以降は可能ですが).

于 2009-08-04T22:57:11.643 に答える
3

どこから始めればよいですか?

まず、あなたの説明から、あなたは頭を抱えています。
第二に、すべてが初めての場合に、テクノロジー スタックを選択しようとしています。

最良の状況では、あなたが言及したいくつかのテクノロジーについての適切なトレーニング クラスをお勧めします。そうすれば、それらのテクノロジーをよりよく理解できるようになります。また、以前にこれを行ったことのあるメンターをお勧めします。

ただし、現実には、トレーニングやメンターは許可されない場合があります。その場合、いくつかの実際の使い捨てプログラムを作成することをお勧めします。ビジネス機能を 1 つ取り上げて、あなたが言及したいくつかのテクノロジーでそれを記述してみてください。気分が良くなり、あなたが望むものをあなたに与えるなら、決定は下されました!うまくいくと思われる最初のもので止めないでください。もっと試してみてください。

また、いくつかの優れたポッドキャストも聞く必要があります。テクノロジーをよく理解するには、Dot Net Rocksをお勧めします。このサイトの以前のポッドキャストも、いくつかの設計議論の非常に優れた情報源でしたStackOverflow ポッドキャスト

幸運を祈ります。

于 2009-08-04T23:08:53.273 に答える
1


MVC(Model View Controller)またはMVVM(Model View View-Model)または類似のデザインパターンを使用して、ビジネスモデルとビジネスロジックをユーザーインターフェイスから分離すると、
複数のユーザーインターフェイスを同じビジネスモデルに接続できます+ビジネスロジック、さらには同じユーザーインターフェイスを他のビジネスモデル+ビジネスロジックに接続します。

于 2009-08-04T23:48:15.863 に答える
1

最近、WPFで非常に似たようなことをしなければなりませんでした。私は ASP.NET のバックグラウンドを持っていますが、WPF (または WinForms) を使用したことがなく、しばらく困惑していましたが、作業が長引くほど (現在約 3 週間)、作業が楽になりました。それは得ました。私は実際に Stack Overflow と Google で、自分が行っていたことに似たコード スニペットを検索し、それらを調べて、必要に応じて変更しました。私の会社も私を助けてくれた本を購入しました (Sams が発行した WPF Unleashed でした)、それはかなり良かったです。初めての WPF アプリでの幸運を祈ります。

于 2009-08-04T23:20:46.073 に答える
0

ご支援いただきありがとうございます...ブラッド、私はすでにあなたのアドバイスに従い、いくつかのテストケースを実行して、何がうまくいくかを確認しています...私の問題は、WPFでアプリケーションを開発し、 wpf データバインディング、ジェネリックス、linq、匿名オブジェクト、すべてのクールなもの、私はいつも、世界のすべての問題 (mvvm、並列プログラミング、関数型言語など) の解決策としてあれこれについて聞いており、「この優れたテクノロジを使用しないと、私の決定は間違っていて、悪い開発者になります。私は概念を知っていますが、それを支配することはできず、学ぶべきことがたくさんあるようです。悲しいことに、私にはそれほど時間がありません. トーマス、モノはWPFをサポートしていないため、アプリケーションをできるだけ分離したいので、単純なwinformレイヤーを実行してデータを操作できます。 darthnosaj、ありがとう、私もそうして、インターネットを検索して多くの情報を見つけました(そして、この素敵なサイトには、元気な人がいっぱいです:))

そしてダニー、それが私が必要だと思うものです... mvvmを使用していくつかのサンプルアプリケーションを見て、それが私にとってうまくいくかどうかを確認します. 私が聞いたことは、そのような隔離が必要な場合に使用しないのはほとんど犯罪です.

繰り返しますが、すべてに感謝します:)

于 2009-08-05T12:58:48.257 に答える
0

アプリケーションの N 層を維持することをお勧めします。すべてのエンティティ、データ アダプター、およびビジネス ロジックを実際のデスクトップ アプリケーションから分離します。このようにして、Windows プラットフォームで WPF を使用し、Linux/Mac プラットフォームで Mono/GTK# を使用できます。

実際の G​​UI アプリケーション機能をサポートするために重複コードを記述するだけで済みますが、別個のエンティティ/データ アクセス/ビジネス ロジック ライブラリ (DLL/クラス ライブラリなど) からのコードは、WPF と Mono/GTK# プロジェクトの両方で使用できます。 . WPF および Mono/GTK# プロジェクトへの参照として DLL を追加するだけです。

N 層アプリケーションの構築に関する Channel 9の優れたビデオがあります。

N 層アプリケーションの構築に関する MSDN のドキュメントとガイドラインもあります。

于 2010-01-09T05:55:15.713 に答える