今天上课,老师在讲spring的作用,说其可以【减低耦合性、提高项目性能】,我对于这句话,不是很理解,什么是耦合性?为什么就降低耦合性了?是怎么降低耦合性的呢?其中的内部逻辑是怎么样的?性能大概能理解,我理解的是程序跑更快了,因为访问的对象是直接打包好的,省去了再生成对象的时间;但是上面的问题,我是听了老师的例子还是不太理解,所以我搜到了一个博主的讲解,感觉很清晰,随记录,并根据其讲解,回答我以上的疑问。
回答1:耦合性就是联系密切的程度,比如继承,父子关系,剪不断理还乱,这就是高耦合。在软件工程中,耦合指的就是就是对象之间的依赖性。对象之间的耦合越高,维护成本越高。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。
回答2:这个问题看完博主的一个程序演变过程以后,我大概懂了,总结下来大致就是
IOC = 工厂模式+反射+配置文件读取
让专门的人做专门的事情,工厂本身就已经生产了各种对象,我们通过bean就可以告诉工厂我要什么,我的需要工厂都可以满足,不需要根据需求重新写适配的代码,降低了需求调用和程序之间的耦合。【利用配置文件+反射技术除了修改方便之外还带来一项好处:我们没有修改任何一处代码,只是改了配置文件,也就是说我们的代码不需要重新编译.(提高性能了)】
回答3:和问题2一样
回答2:问题2里也有,大概就是通过工厂模式去生产所需要的对象,需求获取充反射和配置文件读取中获取
附上博主的链接【以便随时重温】:(65条消息) 原创经典-为什么Spring中的IOC(控制反转)能够降低耦合性(解耦)?_tinpo_123的博客-优快云博客_ioc为什么能降低耦合