Kihagyás

Mappák struktúrálása

1. Koncepció

A backend projekt mappastruktúrája a funkció alapú packagelést veszi alapul. Ez azt jelenti, hogy a legfelső szinten funkciók szerint van csoportosítva a kód.

Ennek legfontosabb előnye, hogy a funkcióhoz tartozó kódbázis teljes egészében az adott funkció package alatt található. Így a fejlesztők számára is áttekinthetőbbek a funkciók listája és egyértelmű lesz hol található a hozzájuk tartozó kód.

Funckiók törlése

Képzeljünk el egy olyan szituációt ahol az accounting funkció törlése a feladatunk.

Ebben az esetben ha a legfelső rétegben például a szerepkörök szerint van csoportosítva a kód: admin -> accounting, client-> accounting stb. akkor ha nem ismerjük a kódbázist minden szerepkör alatt meg kell néznünk, található-e még kód az accounting funkcióhoz.

Ellenben ha a funkció szerint lenne szervezve a kód, akkor elég lenne az accounting package-t törölni a funkcióhoz tartozó összes kód törléséhez.

2. Struktúra

A struktúra az alábbi módon épül fel:

FolderStructure

Az src/main/java/io/gbsolutions/project könyvtárszerkezet minden projekten adott.

A project package alatt található a feature és techcore package. Melyek közül a techcore a fejlesztői eszközkészletet, míg a feature a feature-öket tartalmazza.

A feature package alatt találhatóak az egyes featureök packagjei. Fontos, hogy a nagyobb (több részre bontható) feature-ök esetén (featureA) további alfeature packagek (subfeature1, subfeature2) bevezetése szükséges.

Például

Ha van egy számlázás funkciónk ahol szétválasztható a lakossági és a vállalati számlázási folyamat, akkor az alábbi struktúra a javasolt:

SubFeatureExample

Az adott feature (featureB) vagy alfeature (subfeature1) package-ek alatt a rétegek szerint bontsuk további package-ekre (controller, service, repository stb.) a kódot.