Dave Newton wrote:
> in some ways I like being coupled to static methods even less because it's
> not injectable.

Not true. FacesContext is injectable with if you use Seam, Spring IoC, or
Guice. Perhaps the native IoC container in JSF will provide this
injectability natively in JSF 2.0.


Jeromy Evans - Blue Sky Minds wrote:
> Agreed. Using a static method call is NOT a form of decoupling from the
> framework. In fact, it's less desirable than an interface because its
> harder to 
> test and override.

They are degrees of coupling. JSF's sue of a static method call results in
much less framework coupling than, say, inheriting a base class as Struts2
would have you do. This is because the static method call can be mocked
quite easily whereas Struts2 base classes (and whatever they depend on) not
nearly as easily. 

I agree that the ultimate decoupling is simple interfaces, and this is
precisely what JSF and Spring-MVC use. Both also use static method calls to
obtain framework services. Struts2 does not. Instead, Struts2 forces you to
either use its base classes or, if you choose to use its interfaces, rewrite
a lot of plumbing that you shouldn't have to rewrite.

As has been pointed out in other threads, suffers from the Fragile Base
Class anti-pattern (http://en.wikipedia.org/wiki/Fragile_base_class). I
don't think anyone would claim JSF and Spring-MVC suffer from this problem,
and although they do have problems of their own, they're not necessarily
fundamental design issues like with Struts2.

-- 
View this message in context: 
http://www.nabble.com/Actions-without-extending-ActionSupport--tp15591064p15762345.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to