只显示主题贴

如果没有更清楚的例子说明的话,那只能说明依赖注入是不必要的。 spring的价值应该是体现在事务处理和AOP。 解决测试问题应该用mock,而不是spring.(without ejb书中似乎也是在说DI支持测试) 开发人员需要优先学习struts/jsf,hibernate,mock. 我买的spring书的钱和时间可能白花了。
skydream: 我看了你的例子,我明白你的意思了。你的例子我觉得可以用Strategy策略模式解决,实际上有个说法就是spring就是策略模式。
import org.jmock.Mockery; import org.jmock.Expectations; class PublisherTest extends TestCase { Mockery context = new Mockery(); public void testOneSubscriberReceivesAMessage() { // set up final Subscriber subscriber = context.mock(Subscriber.class); Publ ...
那个JMock的例子似乎回答了您的问题。
我看了Guice的说明。我感觉当时的背景是j2ee难以测试,而mock也是新出来的技术。spring出来后能解决这个测试难的问题(有比较大的代价),于是受到欢迎,似乎遮蔽了mock框架。我接触过NMock, TypeMock. java有JMock.这些都是动态mock框架,根本不需要写如下的mock class:                 public class MockService implements Service 所以只是因为测试问题是应该采用mock框架 ...
用接口也就是更灵活的插件式结构,但是这个是有代价的。应该是只在需要的地方用。楼上朋友能给出一个无法mock的例子吗?感觉这个问题的讨论还是有价值的,hibernate的价值是明显的,界面层是必需的,而spring觉得不是必需的,至少是中小型项目不需要。
我一直对spring的做法不十分理解,最近这个讨论证实了我的疑问《依赖注入是否值得?》。 spring的主要价值似乎是支持单元测试,而这个工作可以由mock框架完成。 我现在做的项目是asp.net, 主要用到NHibernate, 确实没感觉到用spring的必要。 我学习过spring当然了解有限,不过感觉中小型项目都不必要采用,徒然增加复杂性和开发人员的学习负担,没有必要别扭地采用IOC。 
不错!
  • 进入论坛 Java
会不会是防火墙的问题,检查下。
编译都过不了的。
  • 进入论坛 Java
chenge
搜索本博客
博客分类
最近加入圈子
存档
最新评论