2009-09-09 6 views
0

J'écris une application iPhone et je trouve qu'il y a trois contrôleurs dans l'application qui ont des fonctionnalités très similaires. Ils sont assez similaires pour que cela ne soit pas logique de les séparer en trois classes séparées, donc j'ai une propriété "mode" que les clients de la classe utilisent pour spécifier comment le contrôleur devrait se comporter dans certaines situations. Mais encore une fois, peut-être 95% de la fonctionnalité est identique. Il y a trois modes séparés avec seulement de légères différences de comportement.Modèle de partage de fonctionnalités entre les contrôleurs

Cela me semble compliqué. Y a-t-il un meilleur modèle pour cela?

Répondre

1

Vous pouvez essayer l'héritage ... les trois contrôleurs peuvent tous hériter d'une base commune qui implémente la fonctionnalité partagée. En dehors de cela, vous pouvez consulter le Strategy Pattern.

Lequel vous utilisez dépend de ce que votre code est en train de faire et ce que les bits qui changent ressembler :-)

+0

Merci - La stratégie est ce que je recherche. – Bill

0

Une approche similaire impliquerait de ne pas utiliser l'héritage (ie: utiliser le même contrôleur pour les trois écrans) et utilisez state pattern pour définir un comportement spécifique pour chacun des écrans.

Questions connexes