2011-07-13 13 views
0

私は、dropBoxのようなフォルダと転送ファイル(添付ファイル付きのデータ)を監視するウィンドウサービスを構築しています。
N層設計でビルドしたいと考えています。
*データレイヤを設計してBLLにデータをプッシュすることはできますか?
*データレイヤーにファイルシステムを持つロジックを持たせることができますか?フォルダを監視して、作成したファイルを取得してBLに渡すことはできますか?BLLはデータレイヤーではなく、データ層がBL層にデータをプッシュするのは正しいですか?そしてその仕組みは?

答えて

1

通常、データアクセス/リポジトリレイヤは、基礎となるデータソースへのアクセスを抽象化します。可能な限り薄くなければならず、好ましくはデータの永続性に関連するものを処理することに限定される。あなたが説明したことから、それはあなたのようには聞こえません。

代わりに、しようとしているファイルシステムの監視に関連するさまざまなタイプのビジネスロジックを処理する一連のサービスクラス(Windowsサービスと混同しないでください)を構築します。フォルダーをモニターする1つのサービスと、ファイルの転送を担当する別のサービスを持つことができます。次に、さまざまな操作を調整する責任を持つサービスクラスの上にレイヤーを作成できます。

それは意味がありますか?

+0

ありがとうございますが、私は実装がまだまだわかりません。コードの例がありますか?それらのサービスはどのように構築されましたか?生活プログラム?別のスレッドのいくつかの種類? – guyl

0

DALはアプリケーションの状態を維持するためのものです。メモリ不安定性などの技術的問題の解決策です。

ファイルシステムが外部システムの場合、あなたのアプリにのみ属していると見なすことはできません。あなたはその状態を受け入れることができず、それはあなただけに属すると言います。

だからこそ、あなたはそれとコミュニケーションをとり、必要なものを尋ねます。面白いことが起こったときにあなたに知らせるように頼むことができます(FileSystemWatcher)。それに応じて行動することができます(ファイルを転送する)。

したがって、ファイルの監視は、DALの責任ではありません。おそらくファイルシステムを監視し、作業を 'BL'に渡すデーモンでしょう。

+0

まず最初に良い答えですが、BLに渡すという概念を説明してください.BLはDATA層を知る必要はありませんか? – guyl

+0

もちろん、BLはDALを参照していますが、それ以外の方法ではありません。私は私のポストでは何の反対も言わなかった。 – driushkin

+0

さて、静的なオブジェクトを作成してイベントを作成する方法がありますか? – guyl

関連する問題