Bij het opzetten van een nieuw systeem zit ik vaak te kijken naar de indeling van de verantwoordelijkheden over packages. Naarmate ik meer ervaring heb gekregen met development wordt ik daar steeds beter in, maar 1 aspect in het bijzonder heb ik nog vaak twijfels over.
In welke package zet ik al mijn DAO en DTO (models/entities) classes?
Een mogelijkheid is om alles op business concepten te groupen. Stel voor ik heb de concepten "Customer" en "Order". De ene variant is om dit dan als volgt in packages te zetten:
Een andere indeling is om juist de opsplitsing te maken op basis van abstracte concepten, b.v. "model" en "dao":
Ik vraag me af wat de meest gebruikte methode is. Er valt voor allebei de aanpakken wel wat te zeggen eigenlijk, maar welke is nou de meeste geaccepteerde?
In welke package zet ik al mijn DAO en DTO (models/entities) classes?
Een mogelijkheid is om alles op business concepten te groupen. Stel voor ik heb de concepten "Customer" en "Order". De ene variant is om dit dan als volgt in packages te zetten:
code:
1
2
3
4
5
6
7
8
9
10
11
| com.mycompany.myapp
customers
CustomerDAO.java
CustomerJpaDAO.java
CustomerJdbcDAO.java
Customer.java
orders
OrderDAO.java
OrderJpaDAO.java
OrderJdbcDAO.java
Order.java |
Een andere indeling is om juist de opsplitsing te maken op basis van abstracte concepten, b.v. "model" en "dao":
code:
1
2
3
4
5
6
7
8
9
10
11
| com.mycompany.myapp
models
Customer.java
Order.java
persistence
CustomerDAO.java
CustomerJpaDAO.java
CustomerJdbcDAO.java
OrderDAO.java
OrderJpaDAO.java
OrderJdbcDAO.java |
Ik vraag me af wat de meest gebruikte methode is. Er valt voor allebei de aanpakken wel wat te zeggen eigenlijk, maar welke is nou de meeste geaccepteerde?