Clarification: When i say: * I'm saying this because I always thought that, creating things somewhere that is unrelated to the class/service that is going to use it sounds odd to me.*
*I do not mean that i do not adhere to separating usage from construction, but i would rather do it in an enclosing class something like that. Not in a place far away completely unrelated.* On Thursday, August 21, 2014 4:48:26 PM UTC+2, Maatary Okouya wrote: > > Hi, > > I'd like some advise on the use of assisted injection. > > Most of the example that i saw about assisted injection, have the > following characteristic: > > > - The class being constructor has a parameter, that comes one or more > parameter that only comes at runtime, that is, that can't be determined at > construction time, and one or many parameters that are known at > construction time. Hence, the create method of the factory only takes, the > parameter provided at runtime. > > > In my case 90% of the time, i just have the runtime parameter. Meaning, I > have a class A that needs a class B, but B takes parameters that only A can > provide. So there is only @assister Parameter in the constructor of B. > > I'm wondering if that is the proper usage of assisted injection. > > One of my last example is the following. A needs to return a class B that > is a "dataStructure" (sometimes called DTO, or value object), hence i pass > to A the necessary factory, so that after its computation he can return > B.Here B, is like a container class. I have few case like that. > > The other situation is when service A needs the B Service, but B service > depends of a Parameter from A upon creation. Where the parameter from A his > himself injected to A, however, A does some initialization on it, before > creating B with it. > > Especially in the last case shall i aim to do the *"internal > initialization of A"* outside of A. *The idea is to have specific > creation modules in each package, that externalizes the "internal creation > of the services" of that package? I'm saying this because I always thought > that, creating things somewhere that is unrelated to the class/service that > is going to use it sounds odd to me. With my current understanding, each > package should provide its creation module, that centralizes the creation > of the object that it contains, especially if one use private constructors.* > > I have used Guice so far for a while, but it is just recently that i red > something about separating module, and keeping module with their package. I > use to do inheritance between module to chain the creation of object, and > ended up having one module that creates everything from start. That is > wrong right ? > > So that is it. I would appreciate some general advice on the right > approach in using Guice. I'm not sure that i'm using assisted injection the > right way. > > > -- You received this message because you are subscribed to the Google Groups "google-guice" 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/google-guice. To view this discussion on the web visit https://groups.google.com/d/msgid/google-guice/ecb0b6e6-0475-42eb-8ef8-8b53df62f109%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
