Une question intelligente à laquelle tu risque d'avoir du mal à répondre serait "envisages-tu que les type de lecteurs de cartes soit appelés à se multiplier dans un futur suffisamment proche que pour ta version de l'application doive encore être en mesure d'évoluer de ce coté
Si je prévois quelques difficultés pour apporter la réponse à cette question, c'est parce que j'ai bien conscience qu'il n'y a sans doute pas des nouveaux types de lecteurs de cartes qui apparaissent tous les jours...
Par contre, ce dont je suis sur, c'est que, au rythme auquel évolue la technique, il est difficile de prévoir de quoi demain sera fait (quel sera l'état de la technique d'ici 2 ou 3 ans ou ... 10)...
Si la réponse à ces deux questions venait à être "oui", je te conseillerais volontiers de sortir "la grosse artillerie", avec fabrique, éventuellement prototypes, manager potentiellement sous la forme de singleton , et tout l'toutim...
L'idée étant de faciliter au maximum les évolutions futures: lorsqu'un nouveau type de lecteur de cartes apparait, tu le fait dériver de CCardReader, tu l'inscrit dans la fabrique, tu le rajoute dans le menu déroulant de l'interface graphique, et merci bonsoir: un petit coup de compilation et le tour est joué
(bon, je l'admets, c'est la version "optimiste
)
Si tu estimes que l'évolution arrivera bien après la durée de vie de ton application, un truc beaucoup plus simple peut suffir:
un "CardReaderManager, auquel tu demande de créer et de détruire les instances réelles descendant de CCardReader et avec lequel communique ton IHM
Partager