2013-04-23 13 views

Odpowiedz

7

Tak, należy go utworzyć w oddzielnym projekcie i używać go jako zależności od innych. Często zdarza się, że projekt/jar ma wyjątki używane w modułach, z którymi pracujesz. To świetny sposób, aby utrzymać porządek w porządku IMHO.

+0

Nie zgadzam się, mając tylko wyjątki wspólne między dwoma projektami brzmi mi śmierdząco. Uważam, że są one takie same w ich nazwach klasowych i nic więcej! –

+0

Uważam, że PO oznacza 2 moduły w tym samym projekcie, a nie 2 niezależne projekty. Jeśli tak jest, to rozwiązanie, podobnie jak to pytanie, nie ma sensu. Nawet nazwy pakietów byłyby dziwne. –

1

IMHO, jak @harsha wspomniano w istniejącym komentarzu, najłatwiejszym rozwiązaniem byłoby umieszczenie udostępnionego kodu w bibliotece lub pliku .jar i pliku .jar w bibliotece projektu.

Teraz masz cenne API, które można łatwo konserwować dla każdej wersji ze swoimi wersjami.

1

Osobny projekt, który jest współdzieloną zależnością dwóch pozostałych, jest prawdopodobnie najlepszy. Powielanie obiektów utrudniłoby pracę, gdyby oba modele danych były używane razem, co musiałbyś rozwiązać za pośrednictwem np. różne nazwy paczek, które mogłyby wywołać problemy z utrzymaniem. Wspólny projekt może być dobrym repozytorium dla udostępnionego kodu w przyszłości, poza wyjątkami.

1

Czy są tylko wyjątki? Brzmi dziwnie.

Czy istnieje jakaś zależność między tymi projektami? Czy ktoś jest klientem innego?

Wierzę, że będą również pewne wspólne interfejsy, niektóre z nich będą zgłaszać te wyjątki w podpisach ich metod. Niektóre z nich są realizowane w jednym z twoich projektów i są wywoływane w innym projekcie.

Jeśli czegoś takiego nie ma, wydaje się, że zwykłe wyjątki są wspólne dla ich nazw! Nie są to w rzeczywistości te same klasy, mają po prostu tę samą nazwę, a ponieważ wiele zdefiniowanych przez użytkownika wyjątków ma konstruktorów, którzy nazywają konstruktory super, wydają się być tacy sami.

Jeśli to twój przypadek, nie zawracałbym sobie głowy wyodrębnianiem zajęć, a ja zachowałbym duplikaty, ponieważ nic nie zyskało dzięki refaktoryzacji.

+0

Są to dwa modele dla dwóch (w rzeczywistości więcej) różnych systemów używanych do importowania danych do systemu docelowego. Jest więcej wspólnych rzeczy, które już wprowadziłem do projektu użytkowego. Ale nie sądzę, że powinny tam być wyjątki, ponieważ jeden system może nie potrzebować narzędzi, ale wyjątków. – lilalinux

Powiązane problemy