Spring IOC

举报
dfsafdfas 发表于 2021/03/05 09:58:11 2021/03/05
【摘要】 什么是IOC        Spring IOC(控制反转):是一种实现思想,通过第三方完成我们对实例Bean的管理,而不是通过传统的方式构建实例,交给第三方进行实例化,从而降低代码之间的耦合度        Spring IOC 控制反转,由Spring容器控制程序之间的关系,而非传统实现中,由程序代码直接控制,IOC发生了 “主从换位” 的变化高内聚,低耦合概述        高内聚低耦...

什么是IOC
        Spring IOC(控制反转):是一种实现思想,通过第三方完成我们对实例Bean的管理,而不是通过传统的方式构建实例,交给第三方进行实例化,从而降低代码之间的耦合度
        Spring IOC 控制反转,由Spring容器控制程序之间的关系,而非传统实现中,由程序代码直接控制,IOC发生了 “主从换位” 的变化

高内聚,低耦合概述
        高内聚低耦合是软件工程中的概念,在软件设计中通常用耦合度与内聚度作为衡量模块独立程度的标准
        划分模块的准则:高内聚低耦合

专业术语    描述含义
高内聚    尽可能的每个成员只完成一件事情(最大限度的聚合)
低耦合    减少类内部,一个成员方法调用另一个成员方法
        从类的角度考虑:减少类内部,对其它类的调用

IOC底层实现原理
        Spring IOC是通过工厂模式与反射原理的结合

工厂模式:对我们用户注入的Bean进行实例化
反射原理:便于用户获取实例,而获取的过程是通过反射原理
Spring IOC的理解
        我们在平时的Java Web应用程序开发中,若需要构建一个对象进行使用时,都需要将他们创建出来,也就是传统的使用new操作符的方式进行对象的构建,而这个创建对象的过程是我们自己手动的创建。譬如:有一个A对象要连接数据库需要通过Connection对象,但这个连接数据库的过程中,A对象需要Connextion对象,从而A对象就对Connection对象产生了依赖,提高了两个对象对象之间的耦合度
        为了降低耦合度就需要通过第三方工具的使用来降低耦合度,便于更好的提高内聚度。若使用IOC容器的话,我们的A对象与Connection对象的创建就会交给IOC容器,从而既降低了对象与对象之间的依赖,又提高了内聚度
        因此,Spring IOC具体来说不是一种技术的实现,而是一种设计思想,在我们开发的角度,就不需要去过度的关注怎么来的对象,而是当需要某一个对象时我们更好的进行应用调度

Spring IOC日常生活中的案例
        富士康直接从中介劳务公司中获取劳动力并直接使用,而不用与每一个员工建立劳务关系,就降低了耦合度

富士康:就是我们程序员自己
中介劳务公司:Spring IOC 容器
员工:我们的实例Bean

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。