Exemple

Alt text Alt text

Communication entrante code

/* Port entrant */
public interface IService {
   void creer(UserDTO dto);!
}
/* Port entrant */
public class Controler {
   public void creerNouvelUser(String nom, email, mdp) {
        UserDTO userDTO = new UserDTO(nom, email, mdp);
        iService.create(userDTO)
   }
}

Communication sortante code

/* Port sortant */
public interface IRepository {
   void create(UserRepoDTO dto);
}
/* Adaptateur */
public class RepositoryAdapteur {
    public void create(UserRepoDTO dto) {
        UserJPAEntity jpaEntity = UserJPAEntity(dto.nom, dto.email, dto.mdp, dto.dateDuJour)
        postgresRepository.save(jpaEntity)
    }
}

Le service

Il récupère les informations du contrôleur, transforme le DTO, et envoie au port sortant

/* Port entrant */
public class ServiceImpl implements IService {
   public void creer(UserDTO dto) {
       userRepoDTO = new UserRepoDTO(dto.nom, dto.email, dto.mdp, dateDuJour()); // la date du jour est calculée par le service
       iRepository.create(userRepoDTO)
   }
}