Zasada DRY - jak ją zastosować.

0

Żaden mądry tytuł nie przyszedł mi do głowy. Muszę napisać dwa programy, które różnią się jedną instrukcją:

import gnu.io.*;
//lub
import javax.comm.*;

gnu.io i javax.comm to pakiety do obsługi portów szeregowych, mają identyczne API. Na razie widzę tylko rozwiązanie skrajnie łamiące zasadę DRY: napisać jeden z tych programów, skopiować, w kopii zmienić jeden wiersz.

2

Nie Ty jeden z tym walczysz. Identyczny problem sprzed 11lat: http://www.thecodingforums.com/threads/conditional-imports-in-java.147306/

I tak jak tam sugoerowałbym dołożenie warstwy pośredniej. Pytanie, czy będzie to warte zachodu i utrzymywania...

0

Dziękuję, zostanę jednak przy pierwszym pomyśle.

1

Ja bym jednak zrobił sobie zwyczajnie fasade ze spójnym interfejsem (co powinno być proste skoro ich interfejsy są takie same) i używał tych bibliotek za jej pomocą. Wygenerowanie czegoś takiego to 5 sekund ;]

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