600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > java ioc是什么意思_Java技术面试题解析:举例说明什么是IoC

java ioc是什么意思_Java技术面试题解析:举例说明什么是IoC

时间:2022-06-12 18:12:00

相关推荐

java ioc是什么意思_Java技术面试题解析:举例说明什么是IoC

原标题:Java技术面试题解析:举例说明什么是IoC

IoC是什么呢?有些人可能会有疑问?

IoC便是Inversion of Control,操控回转。在Java开发中,IoC意味着将你规划好的类交给系统去操控,而不是在你的类内部操控。这称为操控回转。

下面咱们以几个例子来阐明什么是IoC。假定咱们要规划一个Girl和一个Boy类,其中Girl有kiss办法,即Girl想要Kiss一个Boy。那么,咱们的问题是,Girl怎么能够知道这个Boy?

在咱们我国,常见的MM与GG的知道办法有以下几种:1青梅竹马;2亲朋介绍;3爸爸妈妈包揽。 那么哪一种才是更好呢?

青梅竹马:Girl从小就知道自己的Boy。

public class Girl ...{

void kiss()...{

Boy boy = new Boy();

}

}

然而从开始就创立的Boy缺点便是无法在替换。并且要担任Boy的整个生命周期。假如咱们的Girl想要换一个怎么办?(笔者严峻不支持Girl常常替换Boy) 亲朋介绍:由中间人担任供给Boy来碰头。

public class Girl ...{

void kiss()...{

Boy boy = BoyFactory.createBoy();

}

}

亲朋介绍,固然是好。假如不满意,尽管另外换一个好了。可是,亲朋BoyFactory常常是以Singleton的方式呈现,否则便是,存在于Globals,无处不在,无处不能。实在是太繁琐了一点,不够灵敏。我为什么一定要这个亲朋掺和进来呢?为什么一定要交给她介绍费呢?万一我的好朋友爱上了我的男朋友呢?

爸爸妈妈包揽:一切交给爸爸妈妈,自己不必费吹灰之力,只需求等着Kiss就好了。

public class Girl ...{

void kiss(Boy boy)...{

// kiss boy

boy.kiss();

}

}

Well,这是对Girl非常好的办法,只需想办法贿赂了Girl的爸爸妈妈,并把Boy交给他。那么咱们就可以轻松的和Girl来Kiss了。看来几千年传统的爸爸妈妈之命还真是有用哦。至少Boy和Girl不必自己瞎忙乎了。

这便是IOC,将对象的创立和获取提取到外部。由外部容器供给需求的组件。

咱们知道好莱坞准则:“Do not call us, we will call you.” 意思便是,You, girlie, do not call the boy. We will feed you a boy。

咱们还应该知道依赖倒转准则即 Dependence Inversion Princinple,DIP。Eric Gamma说,要面向抽象编程。面向接口编程是面向对象的核心。

组件应该分为两部分,即Service, 所供给功能的声明Implementation, Service的完成优点是:多完成可以恣意切换,防止 “everything depends on everything” 问题.即详细依赖于详细。

所以,咱们的Boy应该是完成Kissable接口。这样一旦Girl不想kiss可恶的Boy的话,还可以kiss可爱的kitten和慈祥的grandmother。返回搜狐,查看更多

责任编辑:

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