J'utilise un structuremap dans mon projet et assez souvent je suis coincé dans une méthode d'extension où j'ai besoin d'une instance d'un objet.Conseil de conception de code
la première méthode consiste à envoyer mon référentiel dans la méthode d'extension et l'autre méthode consiste à avoir un référentiel statique et à l'initialiser dans ma méthode comme ceci.
public static class SomeExtensions {
static IRepository _repository;
public static string ExtensionsMethod1(this HtmlHelper helper) {
_repository = ObjectFactory.GetIntance<IRepository>();
// do stuff
}
}
Quoi de mieux dans ce scénario?
Dans ce cas précis, je suis en train de rendre un menu de navigation, donc j'ai besoin d'aller chercher tous les enfants, descendants et ainsi de suite pour chaque objet, peut-être plus approprié d'envoyer un objet hiérarchique complet à la vue? – Marcus
@Marcus: Oui, créez le modèle de vue dans le contrôleur, ne disposez pas de helpers html référençant des référentiels. – cspolton