Skip to end of metadata
Go to start of metadata

Overview

Much conversation has been had online about heavyweight Java versus lightweight Java. Here we attempt to add our perspective.

Martin Fowler said much with this article : http://www.martinfowler.com/articles/injection.html (Inversion of Control Containers and the Dependency Injection pattern)

Marker interfaces

 

We don't particularly like interfaces that are there simply to mark a class as part of particular component framework. Its not very transparent. It also is not something you can easily add to another team's codebase if you want to use their component as one of your components.

extends, implements, throws, @attributes and prefixedOrPostfixedMethods()

 

Extending a base class is pretty obviously a heavy thing to do. So is the mandatory implementing an interface for a forced design. This is mentioned above for marker interfaces, but also true for interfaces with methods that have to be mandatarily implemented.

Similarly, and a lot less common is suggesting that component's methods need to throw something or have some other clue that helps the framework:

 

EJB 2.0 versus EJB 3.0

EJB had a very heavyweight model. The beans, as such, did not even directly implement their interfaces..

 

Wheras EJB 3.0 is a little more lightweight ..

 

From the client usage point of view

TODO

From the implementors point of view.

TODO

Labels
  • None