老师能举个例子说说解耦合的事情吗,对比一下说说2到底比1优越在哪吧

来源:2-3 代码实现

weixin_慕设计3058955

2020-03-19 21:07:37

http://img.mukewang.com/climg/5e736db9097d68fc11260687.jpg

写回答

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。通过读取配置文件中配置的内容,反射创建对象。

http://img.mukewang.com/climg/5e74639509ccb8c707960209.jpg

在实际开发中,配合注解就实现了bean的注入,不用再用new关键字了。Spring其实就是可以管理bean的创建和它们之间的依赖关系。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

1

0 学习 · 8263 问题

查看课程