Hi Nikolaos. I'm very interested in achieving the same results you are trying to achieve.
After having read the amazing post Rails is not your application<http://blog.firsthand.ca/2011/10/rails-is-not-your-application.html> I started taking into consideration a very different approach. I asked myself: is it that important that the view callable is subjected to dependency injection? What if I move the application one layer down, and use Pyramid only to drive my application and expose it to to web, rather than to build it? In other words, I could have a very thin view-callable layer, with no dependency injection at all but the minimum offered by Pyramid: an injected (an a bit augmented) request object. The view callable contains no business logic, since it delegates the real job to an underlying layer, that is, your application. Pyramid could pass your callable-view the request *and* a IoC container. def you_callable_view(request): ioc = request.ioc service = ioc.get_service('foo') result = service.do_your_job() return result In "service" I could have costructor dependency injection and the like. Il giorno mercoledì 1 febbraio 2012 00:09:48 UTC+1, Nikolaos Papagrigoriou ha scritto: > > Hello everyone, > > From the object-oriented point of view, a Pyramid View (instance of a > callable class) depends on the context and the request. Pyramid, > correctly injects those dependencies into the view, during a view's > class instantiation (while processing a Request). > > Assuming that a view depends on other objects to do its job, is there > a preferred or suggested way of injecting other services > (dependencies) in a Pyramid view? By "injecting", I do not mean to use > the Service Locator design pattern, i.e. let the view find its > dependencies using a registry. > > For the record, I recently configured and used yaak.inject (http:// > pypi.python.org/pypi/yaak.inject) to a Pyramid project. However, I am > still investigating if there is a better way. > > Cheers, > > Nikolaos Papagrigoriou > -- You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/pylons-discuss. For more options, visit https://groups.google.com/groups/opt_out.
