Qu'est-ce que L'OAC, L'OTD et les couches de Service dans le cadre du printemps?
j'écris des services de repos en utilisant le printemps et l'hibernation. J'ai lu beaucoup de ressources sur internet, mais elles n'ont pas clarifié mes doutes. Veuillez m'expliquer en détail ce qui est DAO, DTO et Service couches dans le cadre du printemps? Et pourquoi l'utilisation de ces couches est nécessaire au printemps pour développer des Services API RESTfull.
3 réponses
tout d'Abord, ces concepts sont Plate-Forme Agnostique et ne sont pas exclusifs à Spring Framework ou à tout autre framework, d'ailleurs.
Objet De Transfert De Données
DTO
est un objet qui transporte des données entre les processus. Lorsque vous travaillez avec une interface à distance, chaque appel il est cher. Par conséquent, vous devez réduire le nombre d'appels. La solution est de créer un Data Transfer Object
qui peut contenir toutes les données de l'appel. Il doit être serialisable pour aller à travers la connexion. Habituellement, un assembleur est utilisé sur le serveur pour transférer des données entre le DTO
et tout objet de domaine. Il est souvent peu
plus que d'un tas de champs et les getters et setters pour eux.
Data Access Object
Data Access Object
résume et encapsule tout l'accès à
la source de données. DAO
gère la connexion avec la source de données à
obtenir et stocker des données.
l'OFA met en œuvre le mécanisme d'accès requis pour travailler avec la source de données.
La source de données pourrait être un stock persistant comme un RDBMS
, ou un service d'affaires accessible via REST
ou SOAP
.
DAO
résumés des données sous-jacentes d'accès de mise en œuvre de l' Service
objets
permettre un accès transparent à la source de données. Service
également des délégués
les opérations de chargement et de stockage des données DAO
.
Service
Service
les objets font le travail que le
l'application a besoin de faire pour le nom de domaine que vous travaillez avec. Il s'agit de calculs basés sur les entrées et
stockées des données, la validation de toutes les données qui viennent de la présentation, et de comprendre exactement quelles sont les données
logique source à Envoi, en fonction des commandes reçues de la présentation.
Service Layer
définit les limites d'une application et son ensemble de opérations disponibles à partir de
le point de vue de l'interface client couches. Il encapsule la logique commerciale de l'application, contrôlant
les transactions et la coordination des réponses dans la mise en œuvre de ses opérations.
Références
Martin Fowler a un grand livre sur le commun Applications Architecture PatternsModèles d'Architecture d'Applications d'Entreprise. Il y a aussi, Core J2EE Les modèles qui vaut la peine de regarder.
DAO Objet d'Accès aux Données:
un objet fournit une interface commune pour effectuer toutes les opérations de la base de données comme le mécanisme de persistance.
public interface GenericDao<T> {
public T find(Class<T> entityClass, Object id);
public void save(T entity);
public T update(T entity);
public void delete(T entity);
public List<T> findAll(Class<T> entityClass);
}
par exemple : Printemps – DAO et de la couche de Service
DTO - Objet de Transfert de Données:
Un objet qui transporte des données entre les processus afin de réduire le nombre d'appels de méthode signifie que vous combiner plus plus d'une entité POJO dans la couche service.
par exemple une requête GET /rest/customer/101/orders
est de récupérer toutes les commandes de la clientèle id 101
avec les détails du client donc vous avez besoin de combiner l'entité Customer
entité Orders
avec des détails.