Wrapowanie zewnetrznych api

0

Jakie jest wasze zdanie na temat pisania wrapper na klasy zaciagane z zewnatrz np joda time przed java8 lub cokolwiek innego. "Zeby uniknac zmian wszedzie jak nam sie biblioteka zmieni" ?

1

Zeby uniknac zmian wszedzie jak nam sie biblioteka zmieni
skoro uzywasz jakas zewnetrzna bibloteke wszedzie, to masz problem z architektura aplikacji.

Jezeli wrapper uzywasz wszedzie. Nadal masz problem z architektura

Przewaznie co robie to oddzielam zewnetrzne zaleznosci w jakies klasie typu IJodaTimeContext i dodaje proste czytelne metody (i te ktore potrzebuje) do contextu. Te uzywam gdzies w klasie biznesowej (przewaznie 1-3 klasy)

2

Brzmi jak plan na karierę. Praca do emerytury zagwarantowana, bo nawet jak się skończą biblioteki do wrapowania, to można zacząć owrapowywać swoje wrappery.

Swoją drogą, w jakiej technologii biblioteki zmieniają się same? Bo ja myślałem, że to zawsze jest świadoma decyzja i aktywność programisty.

1

To ma sens jeśli faktycznie planujecie wymieniać implementacje. Przykład: baza danych. Nie korzystasz bezpośrednio z jakiegoś MySQLDatabaseDriver tylko z jakiegoś GenericSQLDriver, dzięki czemu możesz podmienić MySQLa na Postgresa. Dzięki temu ktoś moze twój klon slacka czy sharepointa postawić na różnych bazach.
Dodatkowo ma to sens jak chcesz się odciąć od nieswojego modelu. Masz np. jakiegoś http clienta o innego serwisu i on ci zwraca jakieś obiekty. Dobrym pomysłem jest przemapować je na coś "swojego", bo potem zmianę robisz tylko w tym jednym maperze na wejściu, a nie w polowie systemu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1