데이터 모델
내가 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