耦合与解耦
前言
耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差(降低耦合性,可以提高其独立性)。耦合性存在于各个领域,而非软件设计中独有的,但是我们只讨论软件工程中的耦合。 在软件工程中,耦合指的就是就是对象之间的依赖性.对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。一、工厂模式解耦案例
利用持久层,业务层,表现层模拟解耦方式
二、步骤
1.分别创建持久层,业务层,表现层
持久层代码如下:
package dao;
/**
* @author Mr Z
* @create 2021 01 2021/1/2 16:10
* 模拟持久层接口实现
*/
public class AccountDaoImpl implements IAccountDao {
@Override
public void saveAccount() {
System.out.println("保存账户");
}
}
业务层代码如下:
package service;
import dao.AccountDaoImpl;
import dao.IAccountDao;
import factory.BeanFactory;
/**
* @author Mr Z
* @create 2021 01 2021/1/2 16:07
* 业务层实现类
*/
public class AccountServiceImpl implements IAccountService {
//IAccountDao accountDao=new AccountDaoImpl();//高耦合,待解决
IAccountDao accountDao= (IAccountDao) BeanFactory.