1

.net4(c#)を使用した単純なeCartシステムに取り組んでいます。私は、作業単位パターン、リポジトリパターン、および永続性の無知について多くのことを読んできました。この方法でレイヤーを構築することの戦略と利点を理解していると思いますが、私のシンプルなアプリでは、それが必要かどうか、そして誰かが私のスコープに適したアーキテクチャを教えてくれるかどうか疑問に思っています。

間違っている場合は訂正してください。リポジトリを使用する主な利点は、DBへのアクセスを減らし、アプリケーションアーキテクチャをDBアーキテクチャから分離することです。IE-DBのパフォーマンスに優れていることは、アプリケーションの設計に必ずしも適しているとは限らないため、両方に最適なものを設計してから、2つの間にインターフェイスを作成することをお勧めします。

質問です。発生したビジネストランザクションは、発生したらすぐにDBに保存する必要があるため、リポジトリ内のデータをキューに入れてすぐに保存する意味はないようです。直接保存してみませんか?

私が見逃しているDDDの他の利点はありますか、それとも、発生するすべての単純なプロジェクトに対してそのような堅牢なアーキテクチャを構築することはエンジニアリングを超えているでしょうか?助けてくれてありがとう。

4

2 に答える 2

0

[ここにパターンを挿入]を使用する必要がありますか:いいえ 。ベストプラクティスは、常にアプリケーションを完成させ、時間、金銭、および技術的な要件を満たすものです。

しかし、「それを成し遂げましょう」というアプローチを取る場合は、発生する可能性のある技術的負債に注意してください。

また、これらのパターンのいくつかを使用する理由はたくさんあります(そして、それらは必ずしもパフォーマンスと関係があるとは限りません)、特に作業単位パターン。これは、ORMなどによくある要件や制限と関係があります。これらの問題は少し複雑になる可能性がありますが、これらの問題のいくつかを実装し始めると、それらの問題が何であるかを理解し始め、これらのパターンがなぜ有用であるかを理解するようになると思います。

于 2010-12-07T19:42:04.497 に答える
0

CodingGorillaに同意します。YAGNIと競合しない限り、パターンは素晴らしいです。

すべてのトランザクションをすぐに作成する必要がある場合(つまり、2人のユーザーのアクション間で競合が発生する可能性がある場合)、キューイングメカニズムが必要になるか、使用している可能性のあるデータリポジトリ(SQLなど)の基盤となるトランザクションメカニズムを使用できます。 )。

于 2014-12-14T01:19:35.397 に答える