DevTeach International Conference (Canada)
10 mars 2010 / Toronto, Canada
Architecture agile: Ajouter à votre architecture en couches des interfaces testables
Cette présentation a été conçue pour bien démarrer avec les pratiques agiles lors de la conception d'une architecture. L'architecture logicielle consiste à créer des abstractions pour s'attaquer à la complexité et atteindre la simplicité. L’agilité consiste à systématiquement faire face aux changements en confirmant l'exactitude en tout temps et en insistant sur la simplicité plutôt que la complexité. La manière la plus simple de réaliser la simplicité consiste à diviser en couches et à dissimuler chaque couche derrière une interface pour isoler les dépendances. Masquer la complexité en utilisant une interface n'est pas autant connu que partitionner en couches, mais si vous combinez les deux pratiques dans le même style architectural vous obtenez une approche efficace pour atteindre la simplicité. Ceci est la justification pour une architecture agile; réduire substantiellement la complexité intrinsèque d'une architecture en couches en ajoutant une interface explicite à chaque couche. Le but est de fournir des abstractions telles que les interfaces, les essais et les maquettes qui rendent possible de créer un nouveau niveau sémantique pour être plus précis à l'égard du contrat d'une couche. Cette précision est importante pour communiquer efficacement aux programmeurs le détail de l'architecture et aussi pour valider adéquatement l’implémentation. Un des bénéfices majeurs c’est que puisque les tests sont exécutables, l'exactitude à l'égard de l'architecture peut être confirmée à tout moment. Dans l’ensemble, vous acquerrez les connaissances fondamentales, non seulement sur l'architecture en couches, mais aussi sur la façon de concevoir une architecture agile.
Pour en apprendre plus: DevTeach 2010