老师能举个例子说说解耦合的事情吗,对比一下说说2到底比1优越在哪吧
来源:2-3 代码实现
weixin_慕设计3058955
2020-03-19 21:07:37
1回答
好帮手慕小班
2020-03-20
同学你好,1、耦合是指程序间的依赖关系,它包括 :类之间的依赖、方法之间的依赖,比如:
public class IAccountServiceImpl implements IAccountService { private IAccountDaoImpl accountDao = new IAccountDaoImpl(); public void saveAccount(Account account) { accountDao.saveAccount(); } }
在这里业务层(service)调用持久层(dao)时,使用了new关键字。这里就有耦合性。必须通过new关键字实例化IAccountDaoImpl,才能调用IAccountDaoImpl中的内容。
2、2比1的好处在于,使用反射来创建对象,而避免使用new关键字,通过读取配置文件来获取创建对象的全限定类名,具有解耦合的特性。
工厂获得了对应的对象,它通过配置文件来配置我们的service和dao。通过读取配置文件中配置的内容,反射创建对象。
在实际开发中,配合注解就实现了bean的注入,不用再用new关键字了。Spring其实就是可以管理bean的创建和它们之间的依赖关系。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题