每日五题-java面试题220913

1、什么是 “依赖注入”和“控制反转”?为什么有人使用?

控制反转(IOC) 是 Spring 框架的核心思想,将程序的创建权有程序内转移到程序外面,交由spring管理。

依赖注入:确立 spring bean 与bean 之间的关系。

2、抽象类是什么?它与接口有什么区别?你为什么要使用抽象类?

a. 接口用于规范,抽象类用于共性。

b. 声明方法的存在而不去实现它的类被叫抽象类。

c. 接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。

3、构造器注入 和 setter 依赖注入,哪种方式更好?

每种方式都有它的缺点和优点。构造器注入保证所有的注入都被初始化,但是 setter 注入提供更好的灵活性来设置可选依赖。如果使用 XML来描述依赖,Setter 注入的可读写会更强。经验法则是强制依赖使用构造器注入,可选依赖使用setter注入。

4、依赖注入和工厂模式之间有什么不同?

虽然两种模式都是将对象的创建从应用的逻辑中分离,但是依赖注入比工程模式更清晰。通过依赖注入,你的类就是 POJO,它只知道依赖而不关心它们怎么获取。使用工厂模式,你的类需要通过工厂来获取依赖。因此,使用 DI 会比使用工厂模式更容易测试。

5、适配器模式和装饰模式有什么区别?

虽然适配器模式和装饰模式的结构类似,但是每种模式的出现意图不同。适配器模式被用于桥接两个解耦,而装饰模式的目的是在不修改类的情况下给类新增加新的功能。

源链接-掘金

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值