The reason why it makes sense is demonstrated in the work you started - you can 
make changes to the implementation without affecting the client code.

Another reason it makes sense is so that the implementation can be swapped out 
by a user - Security is a good example.

By the way, I have the ExecutionContext working with all artifacts except the 
entity engine. I'm working on the entity engine changes now.

-Adrian

--- On Fri, 8/7/09, David E Jones <d...@me.com> wrote:

> From: David E Jones <d...@me.com>
> Subject: Re: Discussion: ExecutionContext
> To: dev@ofbiz.apache.org
> Date: Friday, August 7, 2009, 6:01 PM
> 
> The main objection I have is the one I mentioned before.
> That's why didn't really answer again.
> 
> That objection is just that we want interfaces for the
> higher-level objects that people are more likely to use in
> application code, and it doesn't really make sense to have
> interfaces for everything (not for any reason I can think of
> anyway).
> 
> -David
> 
> 
> On Aug 5, 2009, at 5:21 PM, Adrian Crum wrote:
> 
> > I'm bumping this because I might have some time this
> weekend to help.
> > 
> > David - I would like to work on converting some of the
> frequently used lower-level concrete classes to interfaces.
> You didn't reply when I suggested it before. Do you have any
> objections?
> > 
> > Also, if that conversion is done, it could be done in
> the trunk - negating the need for a branch. In other words,
> once the higher level code is using interfaces, you can muck
> around with the implementations all you want.
> > 
> > -Adrian
> > 
> > --- On Fri, 7/17/09, Adrian Crum <adrian.c...@yahoo.com>
> wrote:
> > 
> >> From: Adrian Crum <adrian.c...@yahoo.com>
> >> Subject: Re: svn commit: r795024 [1/6] - in
> /ofbiz/branches/executioncontext20090716: ./
> applications/content/src/org/ofbiz/content/content/
> applications/order/src/org/ofbiz/order/order/
> applications/party/src/org/ofbiz/party/party/
> applications/product/src/org/ofb...
> >> To: dev@ofbiz.apache.org
> >> Date: Friday, July 17, 2009, 5:07 PM
> >> 
> >> --- On Fri, 7/17/09, David E Jones <d...@me.com>
> >> wrote:
> >>> There is a basic reason for this, and it's
> because I'm
> >> lazy
> >>> and also not sure how many of these "lower
> level"
> >> objects we
> >>> even want interfaces for.
> >> 
> >> My preference would be to change all of it to
> interfaces.
> >> Higher level code should interact with interfaces
> - not
> >> concrete classes (dependency inversion).
> >> 
> >> Keep in mind you're not alone in this effort -
> I'm
> >> available to help.
> >> 
> >> -Adrian
> >> 
> >> 
> >> 
> >> 
> >> 
> > 
> > 
> > 
> 
> 


      

Reply via email to