この問題についてウェブを検索しました。また、同じタイトルの投稿が既にありますが、実際の質問を実際には説明していません。だから私は正しい解決策を見つけていません。
私は非常に大規模なプロジェクトを開発しています。したがって、それをいくつかのレイヤーまたはコンポーネント、または任意の名前に分割することが絶対に必要です。
各レイヤーはいくつかの機能を公開します。各レイヤーについて、それがどのように実装されるかは重要ではありません (これは大規模なプロジェクトでは頻繁に変更されるため) が、重要なのは、機能を呼び出す方法とそれが返すもの => コントラクトです!
TransactionService と BankService に関する 2 つのレイヤーがある場合、BankService は TransactionService より上位のレイヤーであり、transactionservice を使用します。transactionService は単にトランザクションを実行します。
TransactionVO doTransaction(clientFromVO, clientToVO);
そして、追加のものを行う別のレイヤー.. TransactionVO はモデルクラスではありません! それらは値オブジェクトであるため、サービスの実装はレイヤーの外部に公開されません。Java では、次の方法でこれを実現できます。
public interface TransactionService {
TransactionVO doTransaction(clientFromVO, clientToVO);
}
実装は次のようになります。
public class TransactionServiceImpl {
public TransactionVO doTransaction(clientFromVO, clientToVO) {
// implementation
}
}
インターフェースを事前に定義しているため、各サービスがどのように見えるかを示すコントラクトがあります (実際の実装がなくても、TransactionServiceImpl はまだ存在する必要はありません)。
そのため、2 つのチームが各レイヤーで同時に作業でき、実装のモックを作成できます。Django でこれを実現する方法を知りたいです。各レイヤーに REST API を作成することは単純に完了していません (多くのオーバーヘッドやパフォーマンスの問題が発生します..)。