锁定老帖子 主题:接口存在的意义只在于接口依赖注入
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-09
我的立场是站在spring的依赖注入的角度上来思考这个问题的。个人认为,接口存在的意义只在于接口依赖注入的时候得到淋漓尽致的体现。至于其他时候,作用则并不是那么大了。其理由如下: 1. 在非接口注入的情况下,接口的定义,某种程度上可以理解为对类的一个总的设计,因为其方法并不需要实现,所以可以更多的去思考业务上的逻辑问题,一方面更多心思的去想如何把功能点设计的更加全面,另一方面当我们在实现这个接口的时候,就会受到这个接口的方法定义的约束,这个时候尽可能多的就是考虑如何实现具体的业务的问题,而不用去考虑业务的设计的是否周全的问题。 2. 我的第二点略带否定第一点的意味。如果说只是起一个总领的作用的话,相信当初在设计这个类的时候的UML图里面就已经写的很详细了。即使我不需要这一个接口,我根据我设计完备的UML图,我一样的可以在写类的方法的时候只关注我的类的方法的实现,而不用去考虑类的方法设计是否完备。 3. 在spring的接口注入的时候,这个时候方才体现了接口的优势。我们只调用接口,接口的具体实现可以有一个,也可以有N个,但是具体调用哪一个实现,我们可以动态的根据配置文件,在具体运行的时候再来决定。这就相当于用调用接口,把更多的灵活性留给了以后的开发和维护,以及功能模块的添加。 更多的暂时还没有去想,比较仓促就先写到这里。我先抛出观点。欢迎拍砖。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-04-09
最后修改:2009-04-09
由于设计失败我看见过的N多项目dao是以页面逻辑分块开发的.....正常的DAO与页面逻辑关系非常的小.
我想说的只有这句话. |
|
返回顶楼 | |
发表时间:2009-04-09
java的世界其实很大的,并不是只有SSH.....
|
|
返回顶楼 | |
发表时间:2009-04-09
抛出异常的爱 写道 由于设计失败我看见过的N多项目dao是以页面逻辑分块开发的.....正常的DAO与页面逻辑关系非常的小.
我想说的只有这句话. 不可否认 被你说中了 我们的项目 目前的dao是和页面逻辑有很大的关联,及相似程度,但是 总的来说 页面和dao的关系,不是1:1的关系 而是N:N的关系 |
|
返回顶楼 | |
发表时间:2009-04-09
guooscar 写道 java的世界其实很大的,并不是只有SSH.....
对 是很大的 但是我们目前不是SSH 中间不是struts 整个是.NET上的spring.net+NHibernate |
|
返回顶楼 | |
发表时间:2009-04-09
october731 写道 guooscar 写道 java的世界其实很大的,并不是只有SSH.....
对 是很大的 但是我们目前不是SSH 中间不是struts 整个是.NET上的spring.net+NHibernate 是我穿越了……还是你穿越了…… |
|
返回顶楼 | |
发表时间:2009-04-09
akiraray 写道 october731 写道 guooscar 写道 java的世界其实很大的,并不是只有SSH.....
对 是很大的 但是我们目前不是SSH 中间不是struts 整个是.NET上的spring.net+NHibernate 是我穿越了……还是你穿越了…… JAVA只是一种语言 SSH只是一种框架 只是WEB的应用比较多而已 WEB不是JAVA的全部 那么用JAVA开发的MQ NIO 数据库整合 这些底层的东西又是什么呢??? |
|
返回顶楼 | |
发表时间:2009-04-09
和spring有啥关系,随便举个例子,你所在的系统是一个总公司集中项目,某个功能中你将要面对分公司以及不同业务线两个纬度叠加造成的业务差异,UML中定义的东西不是接口的话你咋玩?
|
|
返回顶楼 | |
发表时间:2009-04-10
dada 写道 和spring有啥关系,随便举个例子,你所在的系统是一个总公司集中项目,某个功能中你将要面对分公司以及不同业务线两个纬度叠加造成的业务差异,UML中定义的东西不是接口的话你咋玩?
但是至少这种方式 接口的定义是在UML当中 而不是在具体的程序设计里面 专门一个包或一个类库来装接口 |
|
返回顶楼 | |
发表时间:2009-04-10
akiraray 写道 october731 写道 guooscar 写道 java的世界其实很大的,并不是只有SSH.....
对 是很大的 但是我们目前不是SSH 中间不是struts 整个是.NET上的spring.net+NHibernate 是我穿越了……还是你穿越了…… what does it mrean?? |
|
返回顶楼 | |