700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 复仇者联盟:钢铁侠与Spring的解耦思想

复仇者联盟:钢铁侠与Spring的解耦思想

时间:2021-03-04 01:56:34

相关推荐

复仇者联盟:钢铁侠与Spring的解耦思想

最近电影复仇者联盟4:终局之战正在上映中,前段时间笔者去看了这部漫威电影感觉还是非常不错的。漫威系列中,最喜欢的钢铁侠的系列。恰好最近在看Spring相关的书籍,忽然联想到Spring中关于IOC部分的作用以及解决的问题,可以与这部热播的电影结合起来。关于学习一门技术,我认为最难的学习方法就是直接去用学术名词去理解与学习,本身这些学术名词就晦涩难懂,而且很多都是英文原文直接翻译过来,有些并不能帮助我们更好地来理解其中的编程思想。我认为,编程思想来源于生活,学习编程思想也理应结合生活。Spring中有两个核心的知识点,IOC(Inverse Of Control)和AOP。本次我们讨论的是IOC技术。IOC的全名为控制反转,即把对象创建的权利,对象之间的关系交给Spring来管理,装配。如果把Spring框架与这部电影结合起来,那么Spring框架就相当于这部电影的导演,而电影中的演员和者角色就是一个Bean。假设我们在设计灭霸与钢铁侠进行战斗的这部分剧本,此时我们就需要 考虑到角色与演员的关系。场景一:钢铁侠与扮演者小罗伯特唐尼相互绑定

在当前的场景的剧本创作中,钢铁侠和小罗伯特唐尼是互相绑定的,也就是说钢铁侠就是小罗伯特唐尼,他就是钢铁侠,这样的问题就是在于角色和演员没有解耦,如果在未来的拍摄中演员缺席了,就无法正常进行的拍摄。

场景二:角色与演员通过接口进行解耦

当前这种场景中的角色和演员产生了一定的解耦,即角色的演员是可以进行切换的,我可以用小罗伯特唐尼,也可以用CodingMan来出演,把角色定义为接口,方法为角色的要求,演员去实现这些要求就可以实现一定的解耦,因为此时角色不再是依靠于特定的演员了。但是还是存在一定的耦合,因为角色还是与演员与场景存在耦合,只是他们之间的耦合降低了。

场景三:引入导演进行协调,装配 场景,演员和角色之间的关系

钢铁侠角色接口不变,两个演员的实现不变。

场景中的拍摄中,演员的选择通过注入的形式进行进入片场,当进行拍摄的时候直接调用演员对应的方法即可进行使用。这时候的角色与场景实现了真正的解耦,当场景中需要该角色的时候进行set方法注入即可进行使用。

新引入的导演类,导演负责整个影片中角色,场景的装配,在场景开拍之前角色已经配置好,角色与场景之间没有了直接的耦合,场景与角色之间的关系是通过导演进行装配,使用。

把对象之间的关系进行解耦,并交给第三方进行管理,使用装配的形式进行使用,这种设计思想就是Spring中的IOC,虽然在本文中没有进一步的使用工厂来创建对象,但是最核心的解耦思想已经进行了体现。希望对读者有所帮助,编程思想来源于生活,理解编程思想也应该结合生活,希望对您有所帮助,期待读者的留言,探讨。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。