外观模式.
这个模式挺简单的,理念有点像组合模式,“通过一个对象的行为去操作一批对象的行为”,但实现方式上面比组合模式简单。
定义
一个高层接口,包含对各个子系统的引用,客户端可以通过这个接口访问各个子系统;
架构
外观角色、子系统
代码
Facade
/**
*
* Description:
* 外观角色
* @author: mushi
* @Date: 2021/2/6 11:41
*/
public class Facade {
private SubSystem01 subSystem01 = new SubSystem01();
private SubSystem02 subSystem02 = new SubSystem02();
public void method(){
//调用子系统功能
subSystem01.sys01();
subSystem02.sys02();
}
}
SubSystem01
/**
*
* Description:
* 子系统角色1
* @author: mushi
* @Date: 2021/2/6 11:41
*/
public class SubSystem01 {
public void sys01(){
}
}
SubSystem02
/**
*
* Description:
* 子系统角色2
* @author: mushi
* @Date: 2021/2/6 11:41
*/
public class SubSystem02 {
public void sys02(){
}
}
Test
public class Test {
public static void main(String[] args) {
Facade facade = new Facade();
//通过这个角色的方法去调用子系统的功能
facade.method();
}
}
总结
在需要去调用一个子系统的时候使用外观模式可以减少客户端和子系统间的联系,降低耦合。有点静态代理的意思,A要调用C—C被B管理着—A调用B间接调用C;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)