2

この秋、WCF、認証、EntityFramework の動作などのために IIS サーバーを構成および再構成するために数週間を無駄にした私は、新しいプロジェクトで ServiceStack を使用したいと思っています。

オールインしたい。つまり、今回は Microsoft 固有のものを完全にスキップしたい。

ServiceStack を使用した実際の例を探しています。Rockstars と SocialBootstrapApi を見てきましたが、もっと大きなものが必要です。

私の要件:

  • 少なくとも 2 つのサブプロジェクト (1 つは Web パーツを含み、もう 1 つはビジネス ロジックを含む) である必要があります。
  • ServiceStack.OrmLiteとビジネスロジック部分のいくつかの一般的なものを除いて、ServiceStackのものは期待していません
  • ビジネス ロジックの単体テスト
  • ServiceStack サービスの単体テスト

ソースを見ることができるそのようなプロジェクトについて知っている人はいますか?

4

1 に答える 1

1

構築方法を期待して、規定のn層アーキテクチャを探しているようです。ServiceStackサービスは、完全にモック可能で、単独でテストできる(他のクラスと同じようにテストする)標準の自動配線されたC#クラスであるため、ServiceStackを使用しているという事実はここでは厄介です。自己ホスト型のServiceStackHttpListenerを使用して統合テストとしてテストします。

コードベースが大きくなるにつれてリファクタリングし、必要に応じてアーキテクチャと委任のみを追加することを好むため、私は個人的に規定のアーキテクチャを嫌います。ServiceStackサービスでレイヤーを分離する方法の例を示し、このスレッドの同じアプリケーション内で一般的に使用しているさまざまなレベルのアーキテクチャについて説明します。ServiceStackが奨励しようとしていることの1つは、サービスモデルを、実装から切り離された、独立した、ほとんどdepのないアセンブリに保持することです。

OrmLiteは、他のDALと比較して特別な注意を必要としません。リポジトリクラス内にカプセル化することを選択した場合、クリーンなPOCOを受け入れて返すだけの標準のC#クラス(つまり、リポジトリ)が残ります。データアクセス層をテストする方法に応じて、サービスをテストするときにリポジトリをモックするか、メモリ内のSqlite dbを使用して、RDBMSアクセスもテストする統合テスト用のテストデータでRDBMSデータベースをモックするかを選択できます。

基本的に、ServiceStackはIOCを組み込み、依存性が注入されたクリーンなC#サービスを促進します。これにより、既に慣れている好みのスタイルでサービスを自由にテストできます。つまり、ServiceStackをサポートするためにアーキテクチャやテスト戦略を変更する必要はありません。これは、通常どおりにサービスを開発する自由をすでに提供しているためです。

于 2012-12-29T16:59:39.033 に答える