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 > >> > >> > >> > >> > >> > > > > > > > >