- 外观模式模型大概可以理解为一家公司,有董事长、总经理、及各部门,董事长负责公司大局的把控,他不需要知道各部门是怎样工作的,一条命令从董事长发出,由总经理将这条指令传达给各部门并协调各部门完成工作;
- 示意图
- 上代码
/**
* 董事长
*/
public class Test {
public void order() {
SocketInstance instance = new SocketInstance();
instance.slaveToMaster();
instance.masterToSlave();
instance.slaveToSlave();
}
}
/**
* 总经理
*/
public class SocketInstance {
/**
* 市场部
*/
public void slaveToMaster() {
SlaveToMasterUtil.sendDataToMaster();
}
/**
* 研发部
*/
public void masterToSlave() {
MasterToSlaveUtil.sendUserInfo();
}
/**
* 供应链
*/
public void slaveToSlave() {
SlaveToSlaveUtil.inquireMasterData();
}
}
public class SlaveToMasterUtil {
public static void sendDataToMaster() {
System.out.println("做市场调研");
}
}
public class MasterToSlaveUtil {
public static void sendUserInfo() {
System.out.println("研发出一台样机");
}
}
public class SlaveToSlaveUtil {
public static void inquireMasterData() {
System.out.println("供应产品");
}
}
- 其实外观模式很简单,就是帮我们把一个很复杂的功能进行封装,然后提供刚给我们一个调用的接口即可,例如我们常用的startActivity(),其实他的内部实现很复杂,但是我们在用的时候只需调用他的接口就可以了;
- 我在实际开发项目过程中需要实现主机和从机的通信、从机与主机再与从机的通信,这些过程实现起来很复杂,但是封装好后留给使用人员一个接口,他们不需要知道我是怎么实现的,只要调用我的接口就可以了;