+1
Allen Gilliland wrote: > This isn't necessarily a 3.1 thing, even though to do this should only > take a matter of minutes, but I wanted to throw out the idea of moving > all the interfaces in model.* to the business package. > > This is possibly just another one of my pet peeves, but I've never > really understood why all of the manager interfaces needed to be in a > separate java package. Is there any real reason for doing that? > > To me it makes more sense for those interfaces to be in the business.* > package somewhere since they are actually part of the business layer and > can have their implementation class nearby which makes it easier to work > on the code. I would also suggest that some of the interfaces in > model.* may be better off grouped into subdirectories of the business > package for better organization. For example, it makes sense to me that > the IndexManager (used for search) would actually be in the > roller.business.search package. Another one would be that the > ThreadManager would be in the roller.business.runnable package. This > way we are grouping the code by functionality, not by type > (managers/interfaces). > > The other, possibly more tangible benefit, is that sometimes you may > want to define parts of these interfaces with "protected" level access > to try and confine their activities within a given package, but that is > not possible with the current layout. We may never need to do that, but > I think it should be possible. > > So, would anyone object to me drawing up a proposal for shifting around > some of the classes/interfaces in the business package? Again, this > doesn't have to be a 3.1 proposal, but I don't see why it couldn't since > it's only moving files around without modifying any functionality. > > -- Allen >
