`
teamojiao
  • 浏览: 343840 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

接口存在的意义只在于接口依赖注入

阅读更多

关于接口存在的意义,之前有一篇帖子讨论过(http://www.iteye.com/post/957921?page=1),并且跟帖无数,我也看过,这里发表一点自己的看法。抛砖引玉。
我的立场是站在spring的依赖注入的角度上来思考这个问题的。个人认为,接口存在的意义只在于接口依赖注入的时候得到淋漓尽致的体现。至于其他时候,作用则并不是那么大了。其理由如下:

1. 在非接口注入的情况下,接口的定义,某种程度上可以理解为对类的一个总的设计,因为其方法并不需要实现,所以可以更多的去思考业务上的逻辑问题,一方面更 多心思的去想如何把功能点设计的更加全面,另一方面当我们在实现这个接口的时候,就会受到这个接口的方法定义的约束,这个时候尽可能多的就是考虑如何实现 具体的业务的问题,而不用去考虑业务的设计的是否周全的问题。

2. 我的第二点略带否定第一点的意味。如果说只是起一个总领的作用的话,相信当初在设计这个类的时候的UML图里面就已经写的很详细了。即使我不需要这一个接 口,我根据我设计完备的UML图,我一样的可以在写类的方法的时候只关注我的类的方法的实现,而不用去考虑类的方法设计是否完备。

3. 在spring的接口注入的时候,这个时候方才体现了接口的优势。我们只调用接口,接口的具体实现可以有一个,也可以有N个,但是具体调用哪一个实现,我 们可以动态的根据配置文件,在具体运行的时候再来决定。这就相当于用调用接口,把更多的灵活性留给了以后的开发和维护,以及功能模块的添加。

分享到:
评论

相关推荐

    海创软件组-Spring 核心之IoC(一)

    依赖注入的类型 Bean的配置 …IOC:控制反转依赖注入。它使程序组件或类之间尽量形成一种松耦合的结构,开发者在使用类的实列之前,需要先创建对象的实列。而IoC是将创建实列的任务交给了IOC容器,这样在开发应用...

    einigeln.js:SilexPHPPimple v3 的 Javascript 端口,具有一些额外的功能,如编译器和魔法注入

    Einigeln.js Einigeln 是一个最初为 NodeJS 执行“依赖注入”或“控制反转”的库,其灵感来自其他一些库,如或 。 与其他库的不同之处在于,这个库的目标是: 如果发生任何无效的事情,就会抛出错误。 服务的延迟...

    module.core

    带装饰的依赖注入 组织层次。 (HttpClient,DataProvider,Controller,Mapper,Cache ...) 实用程序类。 大多数依赖项都使用包含实用程序类的接口。 因此,您可以编写自己的实现或使用默认实现。 动机 主要动机...

    基于node+vue的电商后台管理系统源码

    我们还使用了依赖注入和单元测试等技术,以降低代码的耦合度和提高代码的质量。 总之,我们的电商后台管理系统源码基于Node.js和Vue.js,采用了一系列先进的技术和框架,以提供高效、可扩展和可靠的电商后台管理...

    logr:Go的简单日志记录界面

    代码可以仅依赖于此接口,并且可以从调用方注入实际的日志记录实现。 理想情况下,只有main()知道正在使用哪种日志记录实现。 与Dave的想法不同 主要区别在于: Dave基本上建议使用fmt.Printf()来fmt.Printf()日志...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    Chrome Frame 会把最新版的Chrome Webkit 内核和JavaScript 引擎注入到IE中, IE浏览器将获得Chrome的性能和功能 目录 摘要 I ABSTRACT II 专业名词清单 III 第一章 绪论 1 1.1 研究背景与意义 1 1.2国内外相关...

    java面试题

    答:控制反转和依赖注入是spring的两大基础作用。主要是将所有组件在spring提供的外部容器中加载。提高安全性,减低耦合性,使各个框架或者类之间的依赖性降低。 什么是声明式的事务管理?为什么要用?spring如何实现...

    软件测试规范

    软件测试规范 目 录 一.概述 ...............................................................................................................................................................

    c语言编写单片机技巧

    另外初学者要具备单片机I/O接口的应用知识,这在于周边应用电路及各种元器件的使用,须配合自己所学的电子学及电路学等。 14. 符合44PIN的80系列8位单片机的MCU有哪些? 答:符合44PIN的80系列8位单片机有Z...

Global site tag (gtag.js) - Google Analytics