• Aucun résultat trouvé

Approche Objet - Modèle de Conception

N/A
N/A
Protected

Academic year: 2022

Partager "Approche Objet - Modèle de Conception"

Copied!
16
0
0

Texte intégral

(1)

Approche Objet - Mod` ele de Conception

Marie Beurton-Aimar et

Xavier Blanc

November 16, 2021

(2)

Repository et couche Infra

I La couche Infra ? quelle utilit´e ? quelle solution aux probl`emes de la s´eparation des responsabilit´es (separation of concerns) ?

(3)

Repository et Code Technique

I Le Domaine doit rester abstrait.

I Exemple pr´ec´edent : le jeu d’ ´echecs - le Repository contenait du code technique.

public class GameRepositoryFile{

public Game findGameById(GameId gameId){

File f = new File(gameId);

Game g = new Game(f.read() ...) ; return g;

} }

public void save(Game g){

File f = new File(g.gameId);

f.write( g ...);

}

I La couche Domain ne devrait pas d´ependre du framework technique.

I Corollaire : Le framework technique doit ˆetre au service du Domain.

I Il est entendu que le couplage doit ˆetre mis en place depuis l’Infrastructure vers le Domain et non l’inverse.

(4)

Interface et inversion de d´ ependance

(5)

Interface et inversion de d´ ependance

I L’exploitation d’une interface permet d’inverser les d´ependances.

I efinir le framework par une interface :save() load() I L’appelant ne d´epend que de l’interface :

I L’interface appartient `a la couche de l’appelant.

I L’appel´e r´ealise l’interface :

I L’appel´e est dans une autre couche.

I A l’ex´ecution on devra lier l’appelant `a celui qui r´ealisera l’interface.

(6)

Repository concret

(7)

Repository concret en m´ emoire

(8)

La Couche Infrastructure

I Cache tout ce qui est volatile, ou qui peut changer en fonction de la technologie, du d´eploiement, du syst`eme d’ exploitation, de la m´ethode de transport des donn´ees ...

I Prend en charge la conversion des donn´ees en provenance d’autres domaines.

I Important : il est important de disposer d’infrastructure qui permette la r´eutilisation de fonctionnalit´es communes pour acc´el`erer le d´eveloppemnent de nouvelles applications :

I Persistance

I Logging, messaging I Domain events

(9)

La Couche Application

I Une vision orient´eeservice - sans ´etat du Domain.

I Objectif : ´eviter que le client / User Interface manipule directement les Aggregate qui sont les points d’acc`es au Domain.

I La couche Applicationva s’occuper de d´efinir les tˆaches `a effectuer pour r´ealiser une tˆache d’application donn´ee.

I Elle est responsable du mandat du travail du Domain n´ecessaire et interagit avec d’ autres services - externes ou non.

(10)

La Couche Application

I Example : Application financi`ere.

I Impl´ementation de la capacit´e d’un utilisateur particulier `a approuver une op´eration.

I Quand cette op´eration est valid´ee une entit´e du mod`ele change d’ ´etat (approuv´ee0).

I D’autres acteurs doivent ˆetre inform´es par un message.

I La coucheDomainn’ a pas `a prendre en charge le service de messagerie.

I La couche Applicationest une couche d’isolation : les comportements de cette couche ne doivent pas ˆetre affect´es par un changement de code dans les autres couches : Domain, Infra.

(11)

Couche UI

I Aussi appel´ee couchePr´esentation dans les traductions en francais.

(12)

Couche UI

I Acc`ede `a la couche Application

I Manipule les types rendus visibles par la couche Application.

I Autant deUI que de moyens d’acc`es `a l’Application: interface web, interface graphique ...

I Exemple du jeu d’´echecs graphiques :

I les objets graphiques correspondant pi`eces ? I sont une vue des pi`eces,

I pas m´etier, pas infra, pas application

(13)

Les Donn´ ees de l’UI

I L’UI dispose de ses propres donn´ees.

I Certaines donn´ees sont li´ees avec les donn´ees m´etier : localisation, pieces ....

I D’autres sont compl`etement ind´ependantes : style des pi`eces, de l’´echiquier ...

(14)

Les interactions de l’ UI

I L’ UI propose des interactions utilisateurs, I Action que l’utilisateur peut faire.

I Animation que l’utilisateur peut voir, entendre, toucher ....

(15)

Le Mod` ele MVC

I S´eparation du mod`ele, de la vue et du controleur.

I La vue est visible.

I Le controleur g`ere les interactions.

I Le mod`ele contient les donn´ees abstraites de l’UI.

(16)

Les Challenges de l’ UI

I Objectifs :

I Etre r´eactifs (¿30ms)

I Offrir une exp´erience utilisateur.

I Points d’ attention :

I Synchronisation avec le back I Optimisation des performances.

Références

Documents relatifs

Ces remarques sont illustrées par les valeurs dus coefficient de conversion dans la sous-couche Lu pour Z = 85

Le présent document décrit une extension à la sécurité de couche Transport (TLS) pour la négociation de protocole de couche application au sein de la prise de contact TLS.. Pour

Dans la phase d’échange de courrier entre deux serveur SMTP , la première phase est l’authentification de la machine émettrice. La machine qui demande la connexion envoie: la

la séquence de messages échangés entre client et serveur (quand et comment les processus client et serveur doivent envoyer des demandes ou des réponses) ; le type de messages

Le bois de tension se caractérise par des modifications importantes des fibres et notamment chez certaines espèces, la paroi secondaire est fortement modifié avec l’apparition

Dans la phase d’échange de courrier entre deux serveur SMTP, la première phase est l’authentification de la machine émettrice. La machine qui demande la connexion envoie: la

Simple Mail Transfer Protocol (SMTP, littéralement « protocole simple de transfert de courrier ») est un protocole de communication utilisé pour transférer le courrier

- Pour prouver le théorème 1.1, nous n’avons pas besoin d’autant de régularité, mais comme nous avons affaire ici à une équation du type équation de la