"Packaging" i rozbijanie na moduły. Struktura (większeg?) projektu.

0

Hej,

Mam pytanie odnośnie projektowania aplikacji. Robię z kolegą aplikację, na razie mamy podstawy ale już zauważyliśmy, że przyrost nowych klas jest bardzo duży. Moje pytanie odnosi się do "package". Mamy modele, dao, service, controllery, formularze, itp. Nasza aplikacja będzie miała coś w stylu:

  • Użytkownicy,
  • Produkty,
  • Umowy,
  • Faktury,
  • Obsługa klienta
  • itp

Nie wiemy czy wszystko wpakować do paczki typu: org.mojastrona. czy nie rozbić to na:
org.mojastrona.users.

org.mojastrona.products.
org.mojastrona.agreements.

org.mojastrona.invoices.*
itp

Jakie jest wasze zdanie ? Nie mamy zbyt dużego doświadczenia w Javie zwłaszcza w pisaniu większych aplikacji. Wcześniej robiliśmy w Symfony 2 i tam było rozbijanie na "bundle"(oczywiście namespace też był inny).

Pozdrawiam

0

może poróbcie sobie pakiety ala: dao, service, controller, builder, validator, helper, dto, util...

0

@karolinaa
Własnie w tym momencie mamy tak. Mamy:

  • org.mojastrona.dao,
  • org.mojastrona.service
  • org.mojastrona.web
  • org.mojastrona.model
    itp

Zastanawiamy sięczy nie zrobić w ten sposób:
Dla produktów:

  • org.mojastrona.product.dao,
  • org.mojastrona.product.service
  • org.mojastrona.product.web
  • org.mojastrona.product.model
    Dla Umów:
  • org.mojastrona.agreemnet.dao,
  • org.mojastrona.agreemnet.service
  • org.mojastrona.agreemnet.web
  • org.mojastrona.agreemnet.model
    itp.

Pozdrawiam.

0

To raczej zły pomysł. Przykładzik chcesz czy mi ufasz?

1

@Fluke to zależy. Gdyby te kawałki to były osobne moduły (np. mavenowe) i generalnie działałyby niezależnie od siebie to byłbym skłonny wziąć to pod uwagę. Ale raczej na to nie wygląda. Jeśli juz to dzieliłbym w drugą stronę tzn np.
org.mojastrona.service.produkt
org.mojastrona.service.web
itd

1

A u nas znów właśnie dzielimy projekty merytorycznie. Czyli
projekt/moduł mavenowy - faktury
projekt/moduł mavenowy - produkty
projekt/moduł mavenowy - fk
projekt/moduł mavenowy - whm
projekt/moduł mavenowy - whm-wms

itp

oczywiście na końcu z tego i tak powstaje jedna aplikacja..te moduły nie mogę żyć bez siebie ale upraszcza to kodowanie, utrzymanie jakości kodu, testy. BO każdy zespół jest odpowiedzialny za swój moduł, a nie blob

0

Ustaliliśmy, że pozostaniemy przy tej strukturze, którą mamy.

Dzięki wielkie za informację,

Pozdrawiam :)

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