Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- interface IExternalServiceAdapter {
- currencyExhchange(...)
- saveToSpreadsheet(...)
- sendToMail(...)
- }
- GoogleServiceProvider : IExternalServiceAdapter {
- // tu sobie implementujesz wszystko wykorzystując api googla
- }
- ExternalServiceAdapterMock : IExternalServiceAdapter {
- // tu sobie mockujesz, ale na potrzeby testów
- }
- YourMagicLogicService {
- private IExternalServiceAdapter adapter;
- construct(IExternalServiceAdapter adapter)
- {
- this.adapter = adapter;
- }
- YourMagicMethod(){
- // cośtam, cośtam jakaś logika
- this.adapter.currencyExhchange(...) //na tym etapie serwisu nie interesuje co jest pod spodem, wazne, ze zrobil swoje zadanie
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement