Je suis relativement nouveau à .net et je crée une application Web à des fins d'apprentissage. J'ai un DAL avec des méthodes non statiques. Ma question est, comment dois-je accéder à ces méthodes dans la couche de gestion?Accès aux méthodes DAL non statiques
Je ne suis pas sûr que ce soit une bonne ou une mauvaise façon, mais actuellement j'utiliser cette classe pour créer des instances des méthodes DAL:
public DataAccess
{
public static T GetInstance<T>(Type type)
{
return (T)Activator.CreateInstance(type);
}
}
Et j'utilise les instances comme ça dans ma DLL:
public void Save(Article article)
{
ArticleDAL art = DataAccess.GetInstance<ArticleDAL>(typeof(ArticleDAL));
art.Save(article);
}
Des améliorations ou des recommandations?
Bonjour Paul, merci pour la réponse rapide. Le contexte est que je fais un simple CMS. Serait-il préférable à long terme en termes de maintenabilité par exemple, si j'utilisais une usine plus générique telle que proposée par Mark, ou si je suivais votre suggestion? – gdp
Le motif d'usine est génial quand il y a une certaine logique impliquée dans la création d'objet mais pour l'instantiation simple il est inutile. Pour la maintenabilité, je ferais passer le DAL dans le constructeur et utiliser l'injection de dépendance. –
Ok je comprends, quel genre de logique devrait appartenir dans le modèle d'usine? – gdp