2011-02-02 1 views
4

私の会社はすべての.NETエンタープライズアプリケーション開発の標準フレームワークとしてCSLA.NETを評価しています。比較のために、誰もこの空間でいくつかの代替フレームワークを推薦できますか?CSLA.NETの代替品ですか?

答えて

6

私はNeilに一般的に同意します。また、あなた自身のCSLA.NETのような役割を果たすことができるWindowsワークフローとWCFを見ることもできます。組み合わせおよび/またはのような他の技術と混合:

持続性 - OR/MS: Spring.NET、Entity Frameworkは、NHibernateは、LLBLGen、エンタープライズライブラリなど

持続性のNoSQLソリューション: MongoDBは、CoudhDB、Riakに、カサンドラ、RavenDB、Eloquera、db4oの

DI/IoCの: のStructureMap、Ninject、Spring.NET、エンタープライズライブラリ

AOP: PostSharp、SNAP、Spring.NET

これらを組み合わせると、学習曲線やCSLAの膨らみがなく、問題のドメイン(DDD/CQRSがここに入力できる)に非常に特化した非常に優れたカスタムロールソリューションが作成できます。

しかし、DDD/CQRSをCSLAと併用することもできますが、カスタムソリューションを使用することをお勧めします。

+0

これらのどれもがCslaが行うスペースを埋めるものではありません。実際、Cslaと組み合わせてこれらの永続ソリューションの1つを使用することになります。それらのどれもが同じレベルのビジネスルールサポートを提供しているわけではありません。 Cslaを使用すると、新しい雇用者がCslaを以前に使用した可能性があります。その数はカスタムソリューションの場合は0になります。 – Andy

+1

実際に@Andy結合したときに行います。 CSLA.NETはここにあります:http://www.lhotka.net/cslanet/Info.aspxでは、DI + POCOといくつかのデザインパターン(デコレータ、コマンド、リポジトリ)がCSLAのすべてを処理できることがわかります。疎結合のアプリケーションは、CSLAの概念やイディオムに限定されていないのと同じ柔軟性を提供することができます。開発者がLOLを望む場合、あなた自身のbizルールをローリングすることは、絶対にCSLAと同じレベルのサポートを提供するでしょう。新しい雇用が彼の塩の価値があるなら、私が言及したパターンをどのように使用/実装するのかを理解することは困難ではありません。 – bbqchickenrobot

+0

あなたは私のことを忘れています。はい、言及したテクノロジを使用して独自のフレームワークをロールアップできますが、プロジェクト内でそれらをすべて参照するだけでは、ビジネスフレームワークは得られません。新しい雇用者はあなたのカスタムフレームワークを確かに学ぶことができますが、なぜ彼らが学習して効果的になるための学習時間を増やすのでしょうか? ASP.net mvcを使用して私を雇っているなら、私はすでにそれを知っていて、そのすべてのイディオムを学ぶ必要はありません。独自のMVCフレームワークの役割を果たすためには、実際のアプリケーションに加えてそのことを学ばなければなりません。 – Andy

4

私は最近、ビジネスロジックフレームワークが本当に必要かどうかを疑問視することをお勧めします。私はパターンがより有用だと思います。私は、フレームワーク/ツールを購入するのではなく、Domain Driven DesignCQRSを個人的に研究しています。

+1

DDD自体は、Cslaが提供するものとほとんど同じものを実装します。私はまた、CslaとDDDが実際には非常に近いと主張したいと思います。正確な実装ではおそらくニットですが、豊かなモデルや境界のあるコンテキストなどの考え方はほとんど同じです。 – Andy

2

BLToolkitは、ほぼ同じスペースで動作します。

Enterprise Libraryの機能も重複しています。

+0

Bltoolkitは面白く見えますが、おそらく高度なものではありません。 – Andy