2017-05-31 4 views
0

Il s'agit d'un projet Spring Boot API. Nous avons actuellement une conception de modèle en trois phases et je voulais savoir si cela est la meilleure pratique de l'entreprise. Par exemple, si quelqu'un a fait un appel GET pour toutes les voitures, puis l'API serait:Java Architecture Conception d'objets à 3 niveaux

  1. Appelez le DB pour obtenir toutes les voitures et les stocker dans CarEntity. Cela contient certaines informations de base de données telles que la date d'ajout, la date de mise à jour, etc.
  2. Transmettrait l'entité à la couche de gestion après la conversion en objet Car. Ceci enlève cette information supplémentaire de DB.
  3. Transmettrait l'objet Car au contrôle à envoyer au client après la conversion en objet CarDTO.

Donc, pour 1 type général, nous avons 3 objets: CarEntity, Car, CarDTO. Est-ce la pratique la plus efficace et la meilleure?

Répondre

1

Cela dépend vraiment de vos besoins et de vos besoins en matière de conception.

Je conçois des applications web simples et utilise généralement le même objet sur les trois couches (Persistence, Business et Web).

Mais dans certains cas, vous auriez besoin de plus d'une classe. Par exemple, si vous exposez une classe pour un client distant, il serait logique de créer une nouvelle classe au lieu de réutiliser la classe de couche de persistance.

Dans le monde EE, ils aiment souligner Separation of Concerns et SOLID pricipals. Ainsi, vous pourriez soutenir que plusieurs objets sont les plus efficaces et les meilleures pratiques à long terme. Pour mon usage, ils sont généralement sinueux et encombrent le projet. Dans certains cas, ils sont nécessaires.