L'objet ici est de mettre à jour l'interface utilisateur. Je le fais normalement sur le client mais cette application utilise le code derrière. Quoi qu'il en soit, ma question est que j'essaie de nettoyer ces déclarations d'ailleurs et j'ai pensé que le schéma de stratégie pourrait être approprié. Je n'ai pas besoin de tout faire pour moi mais si vous pouviez me donner quelques conseils pour y aller. Est-ce que je crée d'abord une interface et ensuite chaque stratégie implémente l'interface? Les génériques sont-ils utiles ici? Quels types de méthodes devraient être dans l'interface? Toute chose pour me faire partir serait très appréciée.refactor help - pattern de stratégie
if (someObject.Status == 'A') {
btnRecordCall.Enabled = false;
btnAddMailOrStatusAction.Enabled = false;
btnPayments.Enabled = false;
btnAddressMaint.Enabled = false;
btnFilter.Enabled = false;
btnAddCoverage.Enabled = false;
btnPolicyForms.Enabled = false;
lblIsArchived.Text = "********** THIS CLAIM HAS BEEN ARCHIVED **********";
} else if (someObject.Status == 'D') {
btnRecordCall.Enabled = false;
btnAddMailOrStatusAction.Enabled = false;
btnPayments.Enabled = false;
btnAddressMaint.Enabled = false;
btnFilter.Enabled = false;
btnAddCoverage.Enabled = false;
btnPolicyForms.Enabled = false;
lblIsArchived.Text = "- De-archive Request Pending";
} else {
btnRecordCall.Enabled = true;
btnAddMailOrStatusAction.Enabled = true;
btnPayments.Enabled = true;
btnAddressMaint.Enabled = true;
btnFilter.Enabled = true;
btnAddCoverage.Enabled = true;
btnPolicyForms.Enabled = true;
lblIsArchived.Text = "";
}
Merci, ~ ck
Merci Stan. Dans la méthode execute des implémentations, comment obtenir des références aux contrôles de page? Dois-je passer un refernces à la page et faire un findcontrol ('someId')? ou y a-t-il un meilleur moyen? – Hcabnettek
Oui, vous pouvez passer une référence à la page elle-même, puis faire la même chose que précédemment: page.lblIsArchived.Text = ""; etc. Vous pouvez passer la référence à la page dans le constructeur ou dans la méthode Execute. c'est à vous. –