One wouldn't. Unless you have conventions that specify ordering as well. On Thu, Sep 24, 2009 at 12:38 PM, Daniel Hölbling <[email protected]>wrote:
> Ok that title is just bad, but I can't figure out a better one. > I have a architecture that uses a Readonly IQueryable Repository with just > one Method: IQueryable<T> GetAll() > To implement logging, caching lazy loading and some filtering I use > decorators to that IQueryable Repository so the end user gets a pipeline > similar to this: > > CachedRepository<T> -> PriorityFilter<T> -> LoggingDecorator<T> -> Proxy<T> > -> SqlRepository<T>. > > If I'd to implement this using a convention based approach, how could I > ensure that some ordering is still used? > Mainly I need to have the CachedRepository be at the top of the list while > the SqlRepository and the Proxy be at the lower end of the list. > > I guess it would be possible to put the ordering of the decorators into the > XML configuration while registering the components by convention. But how > could I define the ordering once for all pipes (there are 4 different > classes of T right now) through XML? > > My current solution is kind of ok. I use one a generic method that > registers the pipeline in the container, I'm just curious on how one would > approach this with AllTypes. > > On this matter there is one more thing: > Since most of my decorators are Generic I tried to register them using > container.Register(typeof(CachedRepository<>)... > The generic registration works, but it fails to be picked up automatically > by components if there are other classes that explicitly implement > IRepository<T>. > > greetings Daniel > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en -~----------~----~----~----~------~----~------~--~---
