数据模型
我确信您的 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