Forum Panda Pirate
Forum Grenier xIF  
Panda Pirate, forum rôliste
Lisez d'abord la FAQ, svp =>[ FAQ ] [ Thread Index ] [ Search ] [ Archives ] [ Pandapirate ]

Topic: Moi aussi, j'en tiens une couche...
Posted by: Guillaume Ponce at mer. 14 août 2002 14:27:18 CEST

Keywords:

Message:


Ca ne me choque pas tant que ça.

Ce qui me choque plus c'est de voir des notions techniques figurer dans des
objets métier.

Si on prend les architectures 3 tiers classiques ont les représentent
généralement comme ceci en termes de dépendances:

 -----           --------           ---------
|     |         |        |         |         |
| IHM |-------->| Métier |-------->| Données |
|     |         |        |         |         |
 -----           --------           ---------

Nous avons ici 2 notions techniques que sont l'IHM et la gestion de persistence
des données qui cotoient une notion fonctionnelle que l'on appelle métier.
L'IHM dépend de la couche métier, laquelle dépend de la couche données.  Cette
seconde dépendance me choque car on fait un lien entre la notion purement
fonctionnelle de métier avec le détail purement technique du fait que l'on va
gérer la persistence des données métier.

Je préfère le schéma suivant:


                 --------
                |        |
    ----------->| Métier |<-------------
   |            |        |              |
   |             --------               |
 -----                              ---------
|     |                            |         |
| IHM |--------------------------->| Données |
|     |                            |         |
 -----                              ---------


Ici nous avons toujours nos trois types de services, mais les dépendances qu'ils
entretiennent entre eux sont différentes.  Les notions fonctionnelles sont
isolées pour être rendues indépendantes de tout le reste.  Elles découlent
purement de l'analyse fonctionnelle et ne sont pas "polluées" par des notions
qui relèvent de leur environnement technique.  Les composants applicatifs de
l'IHM (concertnent le rendu mais également le pilotage de l'application, comme
un boitier de commande) s'adressent directement aux services de persistence pour
qui leur remonte depuis le média de stoquage (qu'il s'agisse d'une base de
données relationnelle, de fichiers XML ou d'un dispositif d'acquisition) qui
leur retournent des objets métier qu'ils manipuleront pour les présenter à
l'utilisateur ou qui leur fourniront les règles de gestions et autres services
purement fonctionnels dont ils ont besoin.

Le fait est qu'il est parfois nécessaire de stoquer des informations purement
technique, éventuellement liés à des notions de présentation.  Il faut bien
stoquer ces informations quelquepart.  En générale on commence par faire une
analyse de données purement fonctionnelle, puis on y ajoute les données dites
"organiques": tables de paramètres...  Au besoin on fait figurer ces dernières
dans une base séparée si les données purement fonctionnelles ont vocation à être
utilisées par différentes applications.

Pour terminer, il me parait probable que la base de données du forum stoque le
code HTML des utilisateurs qui décident de rédiger leur message en HTML.  Si on
voulait être puriste de chez puriste il faudrait parser ce code, le faire
rentrer dans un modèle de document purement sémantique duquel on redéduirait le
code HTML à afficher quand le message est consulté.

Guillaume Ponce http://www.guillaumeponce.org/




Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/clients/13eaf4559a54d78787520f07cab62616/web/panda/archreply.php on line 98

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /home/clients/13eaf4559a54d78787520f07cab62616/web/panda/archreply.php on line 101
<< Previous topic:  J'ai une folle envie de balancer un nouveau message [Tori Amos Inside] - Pogo, Postmodern Prototype, mer. 14 août 2002 13:00:24 CEST
>> Next topic:  PAINT PONT - M, mar. 13 août 2002 22:24:06 CEST

Top


Les sites autour du Panda
Pandapirate.net   CasusNO

Le GROG c'est bon, buvez-en!

Powered by Pandapirate, based on Zforum © XGRA 2001.