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 >> Next topic: PAINT PONT - M, mar. 13 août 2002 22:24:06 CEST |
Les sites autour du Panda |
Powered by Pandapirate, based on Zforum © XGRA 2001. |