2

Visual Studio 2008 ソリューションのアプリケーション開発フレームワークとして、Rocky Lhotka の CSLA を実装しようとしています。私はSOで水をテストしたいと思います.Entity FrameworkやnHibernateなどの他のORMと比較して、アプローチに関する開発者の意見に特に興味があります.

また、学習曲線はどのようなものですか?また、この方法論に基づいて作成されたアプリケーションを維持するのは (私が聞いたように) 簡単ですか?

また、これを実装した公共部門 (特に政府機関) からの連絡も非常に興味深いものです。

ありがとう、

マス

4

5 に答える 5

8

CSLA は ORM フレームワークではありません。ビジネスオブジェクトを実装するためのフレームワークです。ただし、データ アクセス コードを生成できるコード ジェネレーターが用意されています。CSLA フレームワークは、アクティブ レコード パターンに基づいています。このパターンは、大規模なプロジェクトには対応していません。私の意見では、プロトタイプを実装する必要があります。プロトタイプの目標は次のとおりです。

  1. 階層化スキームを定義する
  2. クラスの単体テスト可能性
  3. フレームワークが他のフレームワークとどのようにうまく機能するか
  4. 他の OR マッピング ツールとの適合性
  5. 学習曲線

あなたの評価が上記の項目に対して肯定的であると思われる場合は、それを選択してください。要するに、そのようなフレームワークを使用するための適切な正当化が必要です。誰かのアドバイスに従うのではなく、自分で試してみてください。

于 2010-01-19T11:09:56.217 に答える
4

CSLA の学習曲線はそれほど悪くはありませんが、時間をかけて本を読む準備をしてください。DAL (パラメーター化された SQL またはストアド プロシージャのサポート) を生成することで、学習曲線の多くを処理しました。そのため、選択した場合に DAL を管理するため、CSLA に ORM の感覚が追加されます。ただし、BO テンプレートのセットとして完全に使用できます。アクティブな生成により、中間クラスを強く必要とせずに、CSLA の新しいバージョンへのアップグレードや機能の追加がはるかに簡単になることがわかりました。

ありがとう -Blake Niemyjski ( CodeSmith CSLA テンプレートの作成者)

于 2010-02-01T17:49:14.680 に答える
2

CSLA はビジネス オブジェクト フレームワークです。データ アクセスを処理するための多くの戦略があります。ORM とデータ アクセスの間には多くの重複があります。開発を簡素化するために、データ アクセス レイヤーで Linq-to-SQL を使用して多くの成功を収めてきました。これは、特に(コメントに基づいて)SQL ServerとOracleの両方をサポートする必要がある場合に役立つアプローチだと思います。

別の DAL の使用については、Rocky の本と www.lhotka.net のサンプルで詳しく説明されています。

TFS に関しては、ソース管理、プロジェクト管理、およびビルド自動化のための ALM ツールです。他のコードと同様に、CSLA ソースをソース管理下に置くことをお勧めします。最も簡単な方法は、ソリューションに CSLA を含めることです。

もう 1 つの方法は、個別にコンパイルし、プロジェクトで CSLA.DLL へのファイル参照を使用することです。TFS 自動ビルドには、ビルド サーバー上のその DLL へのパスを配置できるプロパティ グループがあります。

最後に、Rocky は彼の Web サイト ( http://download.lhotka.net/default.aspx?t=Core38 ) で CSLA トレーニング ビデオを販売しています。

于 2010-02-25T22:24:05.780 に答える
1

SOA に関する Rocky の考えは、次の放送で確認できます。

http://www.slickthought.net/post/Minneapolis-Developer-Roundtable-Podcast---Talking-REST.aspx

理解する必要がある主なことは、CSLA がビジネス フレームワークであることです。ORM は基本的な検証 (およびその他の) 機能を提供できますが、堅実なビジネス層の欠如を実際に補うわけではありません。もちろん、CSLA で ORM を使用することもできます (CSLA の例で EF を使用する例があり、NHibernate が CSLA Contrib プロジェクトの例として使用されていると思います) が、テクノロジは単なる補完的なものです。

学習曲線...それはあなた次第です。始めるのはとても簡単だと思いました。オブジェクト指向をよく理解していれば、すぐに何か基本的なことを実行できるようになるはずです。リリースされた最近のビデオも、yuo を始めるのに非常に適しています。

于 2010-01-19T11:06:13.120 に答える