J'ai un éditeur générique dans la page ASP.NET pour éditer les valeurs de recherche pour différentes tables de base de données.ASP.NET Design Question - Usine vs choix dynamique du code derrière (si cela est possible)
Le code derrière utilise une classe de base qui gère 99% du travail à travers toutes les différentes recherches dans le système.
Une classe C# est transmise à la classe de base à partir du code ci-dessous. Une classe C# différente est transmise à la propriété Gestionnaire de recherche pour chaque recherche. Une classe C# différente est transmise. Je pourrais utiliser le modèle d'usine pour éviter un gros sinon dans le code derrière. Cependant, je me demandais si le même effet pourrait être atteint via une sous-classe du code derrière par exemple.
public partial class LookupsEditorSubClass : LookupsEditor
{
public LookupsEditorSubClass() {
base.LookupManager = new ConcreteManagerClass();
}
}
Questions: 1) Cela nécessiterait le code sous-jacent classe dynamiquement définir ..... le code-behind de classe peut être réglé dynamiquement et est-il même possible d'hériter d'une classe partielle? 2) Si vous utilisez une usine à la place, est-ce que je dois juste accepter un gros sinon?
Votre code ne compile pas. 'this.LookupManager = new ConcreteManagerClass();' n'est pas valide au niveau d'une classe. Vouliez-vous dire cela dans un constructeur? – Steven
La classe de gestionnaire de béton est juste un bout pour illustrer mon point – AJM