Je jet une ancienne idée dans la discussion ici. Ca me rappel à la discussion suivante:
http://www.phpfrance.com/forums/voir_sujet-30330.php
Je travail depuis un bon but de temps sur un système dans le quel beaucoup de problème qui ont été discuter ici sont résolu d'une manière simple mais inconventionnellement.
Le but était un système qui permet d'être flexible et de réduire en même temps la complexité. Le problème à résoudre était à construire un interface par lequel les couches (mvc) peuvent communiquer entre elles. Cet interface devrait être:
- abstrait
simple
garantir une indépendance maximale.
$model->action('common', 'sendmail',
array('error' => & $error,
'host' => '',
'sendto' => '',
'from' => '',
'body' => '',
..etc...) );
Le système s'occupe à inclure la classe d'action (ici du module 'common'), et exécute deux méthodes principal qui se retrouvent dans tous les classes d'action.1. validate() qui fait une validation des paramétres de l'array
2. perform() qui fait le boulot principal
Même pas besoin à enregistrer les classes d'action. Il faut juste les placées dans le répertoire du modèle pour de suite les utiliser depuis n'importe quel point du système (évidemment pas dans les squelettes html). On peu même appeler depuis une action d'autres actions du modèle. De cette façon on peut composer un bloc (Lego) d'actions qui peuvent ensemble traiter des demandes très complexe.
Donc on traite les actions du modèle comme une black box. On ne sais rien de se qui se passe dedans. On sait seulement se qu'il faut alimenter pour recevoir un résultat. L'interface se montre toujours de la même façon et c'est la seule façon comment les couches (controller -> model ou model -> model) peuvent communiquez entre elles..
Pour en savoir plus:
http://www.open-publisher.net
La documentation:
http://www.smart3.org/Open_Publisher.pdf
Je cherche toujours des développeurs pour améliorer ou discuter la conception.
Armand
p.s.
Juste une remarque concernant la comparaison de programmation et la biologie de HyWaN .
Une synapse ne sais rien de son environnement. Elle envoie et reçoit des informations à et par des synapse qui la contourne. Le cerveau ne se met pas dans un état tilt si une synapse envoi une information qui abouti nulle part. Le cerveau en tout fonctione même si il est endommager.
Personnellement je ne crois pas que la programmation objet à quelque chose avoir avec la façon comment la pensée humaine fonctionne. Dans beaucoup de livre de programmation c'est la première leçon qui nous montre la relation entre ce gendre de programmation en objet et la pensée humaine.