Есть какой-то сервис который позволяет менять валюту в одной платёжной системе, на другую. Было бы нормально вынести в трейты логику работы с API платёжных систем и потом использовать эти трэйты в классе обмена?
trait PaymentSystem1 {
...
}
trait PaymentSystem2 {
...
}
trait PaymentSystem3 {
...
}
class ExchangerSystem1System2 {
use PaymentSystem1, PaymentSystem2;
...
}
class ExchangerSystem1System3 {
use PaymentSystem1, PaymentSystem3;
...
}
class ExchangerSystem2System3 {
use PaymentSystem2, PaymentSystem3;
...
}
Может быть есть ещё какие-нибудь варианты? Как бы сделали Вы?