Disons que vous avez un site Web qui vous permet de créer un compte avec trois propriétaires de compte différents. Chaque page d'entrée pour le propriétaire est une page aspx séparée. La première personne a des règles commerciales très différentes de celles des deuxième et troisième propriétaires. Le premier aura aussi plus de champs et différents seront requis pour eux mais pas pour les autres. J'utilise le MVP (Model View Presenter) pattern.Comment réduire la duplication dans le code - Si les instructions sont séparées de la classe
Je peux soit faire
A. Faire trois vues différentes et ont tous utiliser un présentateur qui a des déclarations ou spéciale, si les instructions switch pour voir si vous faites affaire avec un certain propriétaire et si oui à agir d'une certaine façon.
OU
B. Faire trois utiliser des vues séparées et ont tous leur propre présentateur qui se contentera d'exécuter la façon dont il est conçu pour que le propriétaire sans instructions IF nécessaires.
Je me sens en conflit parce que A semble la bonne chose à faire, mais pourrait être salissant avec toutes les déclarations IF partout et les gens pourraient les supprimer ou les modifier sans se rendre compte des répercussions. Bien que B semble beaucoup trop de duplication de code et semble tout simplement moche. Y a-t-il un point où vous dites que ces classes sont trop différentes pour être partagées et qu'il y a trop d'instructions IF pour les exceptions?
Est-il possible d'extraire le code dupliqué dans un présentateur de base abstrait et d'en hériter les 3 autres? – Serguei
La plupart des éléments communs sont uniquement dans le calque Modèle et partagés entre eux, alors que le présentateur pour la première personne varie considérablement de la deuxième et troisième, bien que la deuxième et la troisième soient essentiellement liées à des interfaces utilisateur différentes. – hyprsleepy