什么是解耦合
简单来说就是,减少模块之间的依赖性,提高程序的独立性
耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以提高其独立性)。在软件工程中,耦合指的就是就是对象之间的依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。
通常,我们在一个程序中,调用另外一个程序的方法,我们一般都会想到用new这个关键词,在学习Spring之前,我们在ServiceImpl中调用DAO中的方法,我们一般会这样写
private IAccountDAO dao = new IAccountDAOImpl();
这样的代码写多了之后会大大的增加程序的耦合度,极大的增加了代码的维护难度,非常不利于代码的维护和调式,所以学过newInstance() 对象来获得实例,可以通过反射来降低代码之间的耦合度。
但是,要想通过newInstance() 来获取对象的实例就必须得到该类的全限定类名,所以用XML或者是Properties 。