La version 2 du BoardZ s'inscrit dans un projet de développement continu sur un temps long. Les règles de design tiennent compte de cet objectif et essaient de préparer ce cycle long, en posant les bases suffisantes pour assurer l'évolution du dispositif en minimisant les changement structurels majeurs.
Pour cela une “patternisation” de base du projet doit être mise en place, ainsi que des concepts de design forts et structurants.
Conception “Full Object” : Elle doit garantir, (aux librairies tierces open source) la portabilité du projet dans d'autres langages plus performants. Pour les librairies tierces qui ne peuvent garantir elles-mêmes le portage, le design pattern de Façade doit être utilisé.
Utilisation de design patterns classiques :
Toute fonctionnalité ou “aspect” de traitement à vocation unique doit être encapsulé dans un pattern Singleton et produire une classe statique ou quasi-statique.
Toute utilisation d'un principe étant potentiellement voué à une augmentation, évolution ou alternative future devrait utiliser le principe de Fabrique.
Le pattern d'Inversion de Contrôle (IOC) sera utilisé pour optimiser la répartition des responsabilités entre objets.
Le pattern Poids Mouche (flyweight) sera utilisé pour minimiser l'impact mémoire lors de l'appel à des définitions partielles de données.