2009-09-03 11 views
4

最初にJavaからC#に切り替えたとき、私はC#の機能に本当に感銘を受けました。しかし、C#はJavaEEのやり方ではまだ強固なインフラストラクチャを提供していないようです。私はそれは常にダウンに来て、スケーラブルまたはCOMPLEXEアーキテクチャにC#の機能を統合しようとC#アーキテクチャガイドラインvs JavaEE

毎回:それはMVC/MVPできるようは、どのように私はこれをねじることができますか?例えば、データバインディングは、私の時間を節約したよりも頭痛を与えてくれました。

MSDNにはアーキテクチャとパターンに関する多くのドキュメントがあります。しかし、ほとんどの場合、それらは "教科書"であり、これらの概念が.NETの機能とどのように関係しているかについては言及していません。

JavaEEのEJBとApacheのStrutsはどちらもMVCアーキテクチャを奨励しているようです。ほとんどのJavaEEと同様に、セパレーションの概念とスケーラビリティに重点を置いて、大規模プロジェクトの候補にする傾向があります。

Apacheはこれをこう書いています。Strutsはのように "巨人の肩に立って"です。 .NETの肩にも自分のやり方をすることができますか?

私が思い付くことができる最高のワンライナーは、次のとおりです。

一般的に大規模なプロジェクトで使用される任意のC#アーキテクチャ整形フレームワークはありますか?

私はアナロジーに抵抗couln't:私は、.NETのように感じたJavaEEがMegazordありながらパワーレンジャーです...

免責事項:私はC#のに販売しています、オーバーJava。私は主にMVPセパレーションを使用して、C#で小規模な2つのプロジェクトを導いてきました。私はただ "空を埋める"ことを試みているだけです。

答えて

5

.NETには、実際に使用できる、または使用する必要のある、完全に包括的なアーキテクチャフレームワークはありません。それはあなたが書いているアプリケーションのタイプに大きく依存します。

MVC/MVPとデータバインディングについて明示的に尋ねるので、私はあなたの関心事の1つがUIと懸念の分離に関連するアーキテクチャだと思います。これは、Webアプリケーションやデスクトップアプリケーションでは非常に異なって処理されます。

ウェブアプリケーションの場合、比較的最近のASP.NET MVCフレームワークが適切な方向に向かいます。それは良いかもしれません(そして私はv.2が来ることを期待しています)が、私はすでにそれにかなり満足しています。

デスクトップアプリケーションの場合、Windows Presentation Foundationは、UIとロジックをimplementing the MVVM patternで分ける良い機会を提供します。

しかし、あなたはそれよりも構造的に何かを求めていると思っています。今日、基本クラスライブラリでは、そのようなことは実際にはありませんが、一方で、構成可能な大規模アプリケーションの構築に役立つ多くのオープンソースDIコンテナがあります。

いくつかの一般的なDIコンテナは、以下のとおりです。

私はドンとして、私は、これは便利であるかどうかわかりません」あなたが何であるかを正確に理解するのに十分Javaをよく知っているあなたはそれがちょっと便利だと思うことを願っています。

+0

私は確かにCastleとString.NETを詳しく見ていきます。彼らは私が探していたものを統合するようだ。ありがとう! –