概念:
通过工厂类,来创建对象,不再直接去创建对象使用
优点或者目的:
解耦(开发中你会实在地体会到解耦是件多么重要的事,越复杂越TT)
【注:】什么是耦合性?
- 耦合性:指的是代码之间的关联关系,两者关联越小就越解耦,一方改动时牵连的范围就越小、越独立,这样的关联关系称为低耦合,反之叫做高耦合。
- 低耦合:比如插件可以随意更换,就是耦合性低的原因,主程序和插件程序没有任何硬关联,只是通过规定的接口来交互,
- 高耦合:最直接的例子就是把一个代码直接就写在另一个代码中,如下示例:
public class ActionServletController {
//如果要修改对象UserServiceImpl, 那还要去ActionServletController中修改对象,不利于维护
UserService userService = new UserServiceImpl();
}
总结:
- 工厂模式是Spring和日常开发用的非常普遍的模式,好处就是解耦,
- 耦合性:
- 高耦合:说白了就是把新程序硬编码到了其他程序中,对于面向对象开发语言而言,破坏了开闭原则,使代码不易维护
- 低耦合:调用新程序时通过工厂类来调用,工厂类中通过IO来动态获取配置文件中的新程序包,再通过反射来动态创建新对象,新对象再返回给调用者。这个中间我们只需要新写一个新类并实现规定接口,并修改配置文件就完成了更新,没有碰调用者,遵守了开闭原则