Previous Post removed; Mise à jour:Interface générique w/Polymorphisme pour gérer les objets
J'ai donc une question unique, qui est peut-être assez commun cependant. Les propriétés sont très probablement le code le plus couramment utilisé; car il nécessite que nos données conservent un stockage de valeur constante. J'ai donc pensé comment pourrais-je implémenter ceci? J'ai alors pensé à la facilité avec laquelle Generics peut faire la vie. Malheureusement, nous ne pouvons pas utiliser une propriété dans un générique sans un travail lourd. Donc, voici ma solution/problème; car je ne suis pas sûr que ce soit la meilleure méthode - C'est pourquoi je cherchais un avis de mes pairs. Gardez à l'esprit que l'application sera massive; C'est un exemple très simple.
Résumé:
Présentation couche: L'interface aura une série de champs; ou même des données pour traverser le fil à travers un service web à notre base de données. Donc, ma pensée initiale était une interface qui me permettra de gérer génériquement chacun de mes objets.
// User Interface:
public class UI : IHolder
{
void objDetail(List<object> obj)
{
// Create an Instance
List<object> l = new List<object>();
// Add UI Fields:
l.Add(Guid.NewGuid());
l.Add(txtFirst.Text);
l.Add(txtLast.Text);
// l to our obj
obj = l;
return;
}
}
Maintenant, j'ai une interface; qui a été utilisé par notre interface utilisateur pour mettre des informations. Maintenant; c'est là que la racine de ma curiosité a été jetée dans le mélange.
// Create an Object Class
public class Customer : IHolder
{
// Member Variable:
private Guid _Id;
private String _First;
private String _Last;
public Guid Id
{
get { return _Id; }
set { _Id = value; }
}
public String First
{
get { return _First; }
set { _First = value; }
}
public String Last
{
get { return _Last; }
set { _Last = value; }
}
public virtual objDetail(List<Customer> obj)
{
// Enumerate through List; and assign to Properties.
}
}
Maintenant c'est où je pensais que ce serait cool; si je pouvais utiliser Polymorphisme pour utiliser la même interface; Mais remplacez-le pour faire la méthode différemment. Donc l'interface utilise un générique; avec la possibilité de Morph à notre classe d'objets donnée.
Maintenant nos classes d'objets; peut se déplacer vers notre interface Entity qui gérera l'opération Crud de base.
Je sais que cet exemple n'est pas le meilleur pour mon intention; comme vous n'avez vraiment pas besoin d'utiliser le polymorphisme. Mais, cela est l'idée générale/but ...
- Interface stocker Présentation couche UI Champ Valeur
- Mettre en œuvre les propriétés à une classe souhaitée
- Créer un wrapper autour de ma classe; qui peut être polymorphisé.
- Morphed à un générique pour Crud Opération
Suis-je sur la bonne voie; est-ce tabou? Est-ce que je ne devrais pas faire ça? Mon application doit contenir chaque instance; mais j'ai besoin de la flexibilité pour m'adapter très rapidement sans casser chaque instance dans le processus. C'est ainsi que j'ai pensé pouvoir résoudre le problème. Des pensées? Suggestions? Ai-je manqué un concept ici? Ou suis-je trop penser? Est-ce que j'ai manqué le bateau et mis en application mon idée complètement faux? C'est là que je suis perdu ...
Votre classe Customer ne semble pas implémenter ICustomer et votre interface IEntity semble plus appropriée pour une collection qu'une seule entité. Peut-être besoin de clarifier votre question et vos exemples. –
Était pressé mais je suis d'accord. Pensé à la façon de mettre en œuvre cela pour la plupart de la journée – Greg