データモデル
私は3つの決済システムのためのあなたの3つのモデルが共通の特徴を持っていることを確信しています。だからあなたはこの機能を利用して、それをインターフェースにすることができます。各モデルは、このインタフェースを実装する必要があります。あなたのケースでは、データモデルを表示する必要があります。例えば
:
class Info {
int id;
String cardNumber;
.......
}
interface ITransactionable { //or abstract class with the common func and prop
void addUserWithCard(String cardNumber, String name);
boolean makeTransaction(\*some params*\);
Info getPaymentUserInfo();
}
class Model1/2/3 implements ITransactionable {
\*In each case methods doing different job but give you same result,
you can take info for your models from servers, clouds, db...*\
}
ドメインモデル
ドメインモデルは、データモデルの操作、ビジネスロジックを表します。
class DonationService {
ITransactionable paymentService;
DonationService(ITransactionable paymentService) {
this.paymentService = paymentService
}
Info makeDonation(int money) {
paymentService.addUserWithCard("4546546545454546", "Vasya");
paymentService.makeTransaction(money);
return paymentService.getPaymentUserInfo();
}
........
}
各レイヤーは、APIのような次のものに与える必要があります。例えば
プレゼンテーション
は、各トランザクションのデータをrecyclerViewを埋めることができます。また、トランザクションに関する詳細情報を取得したり、新しいトランザクションを作成したりするなど、ビューからイベントを取得します。
あなたはそれを実現することができる方法を見てのためにこれを確認することができます。https://github.com/android10/Android-CleanArchitecture
あなたがお勧めgithubの上のリポジトリが、私がまさに必要です。ありがとう。 – j2emanue