Une conception logicielle flexible l'emporte sur les modèles de domaine rigides
Cet article remet en question le principe populaire de conception logicielle consistant à lier étroitement le code au modèle de domaine. L'auteur soutient qu'en mettant trop l'accent sur l'évitement des états invalides, par exemple au moyen de schémas de base de données stricts et de contraintes de type, on limite la flexibilité du logiciel et on rend difficile la gestion des exceptions inévitables du monde réel. En utilisant les machines à états et les contraintes de clé étrangère comme exemples, l'auteur montre comment permettre des transitions d'état arbitraires tout en maintenant la simplicité du design central, améliorant ainsi l'adaptabilité et la maintenabilité du logiciel. En fin de compte, l'auteur plaide pour permettre la représentation de certains états invalides dans les logiciels orientés utilisateur afin de faire face aux exigences en évolution et aux circonstances imprévues.