-
Créer un type
Bonjour à tous,
Ma question ne s'applique pas qu'à C#, mais c'est le langage de programmation que j'utilise, et je n'osais pas poster dans un forum plus général.
Pour une application qui travaille sur des bâtiments, j'ai besoin de créer différents types d'ouverture, chaque type ayant différentes caractéristiques: nom du type d'ouverture ("fenêtre", "porte", "baie vitrée", etc.), largeur minimale, largeur max, etc.
Je me demande quelle serait la manière la plus propre d'implémenter ça: une classe standard, chaque type étant une instance de cette classe? un classe statique? Est-il pertinent d'utiliser des enums? des tuples? etc.
Qu'en pensez-vous?
-
Sur un enum tu ne pourras pas avoir de propriété telles que la largeur et la longueur.
Un tuple permet plusieurs valeurs mais ne permet pas de les nommer et donc de savoir à quoi correspond telle valeur.
Les classes te permettent d'avoir des propriétés nommées et t'apportent toute la souplesse dont tu pourrais nécessiter par la suite (héritage, polymorphisme, utilisation dans différents pattern).
Moi je verrais bien une classe abstraite "Ouverture" et des classes qui en héritent "Porte", "Fenêtre", etc.
Tu peux éventuellement les faire construire par un pattern de type Factory.
On peux aisément imaginer qu'il n'y aura pas que des ouverture à gérer mais tout un ensemble de composants pour construire un bâtiment.
Un pattern Builder est tout indiqué pour ça.
-
Merci pour ces pistes, je vais étudier ça!