当前位置: 首页 > news >正文

南京做网站软件wordpress 优秀博客

南京做网站软件,wordpress 优秀博客,如何注册个做电影的网站,微信网站这么做JAVA设计模式——(十)抽象工厂模式(Abstract Factory Pattern) 介绍理解实现工厂接口工厂实现类应用类应用类实现测试改造工厂类 应用 介绍 抽象工厂模式在工厂模式的基础上,适配的对象变为一组相关的对象&#xff0c…

JAVA设计模式——(十)抽象工厂模式(Abstract Factory Pattern)

  • 介绍
  • 理解
  • 实现
    • 工厂接口
    • 工厂实现类
    • 应用类
    • 应用类实现
    • 测试
    • 改造工厂类
  • 应用

介绍

抽象工厂模式在工厂模式的基础上,适配的对象变为一组相关的对象,为这一组对象提供一个接口。

理解

好比一个手机,提供了很多个app的入口,想使用哪个,就点开哪个,那工厂类也替我们完成这样的工作,而不必过多关心找不到使用应用的入口。

实现

工厂接口

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/5/4 17:06* @Contact 643947568@qq.com*/
public interface ApplicationFactory {public Application1 createApplication1();public Application2 createApplication2();
}

工厂实现类

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/5/4 17:06* @Contact 643947568@qq.com*/
public class ActualApplicationFactory implements ApplicationFactory {@Overridepublic Application1 createApplication1() {return new Application1();}@Overridepublic Application2 createApplication2() {return new Application2();}
}

应用类

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/5/4 17:03* @Contact 643947568@qq.com*/
public interface Application {public void enterApplication();public void executeApplication();public void exitApplication();
}

应用类实现

两个子类

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/5/4 17:04* @Contact 643947568@qq.com*/
public class Application1 implements Application {@Overridepublic void enterApplication() {System.out.println("进入应用1");}@Overridepublic void executeApplication() {System.out.println("执行应用1");}@Overridepublic void exitApplication() {System.out.println("退出应用1");}
}
package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/5/4 17:04* @Contact 643947568@qq.com*/
public class Application2 implements Application {@Overridepublic void enterApplication() {System.out.println("进入应用1");}@Overridepublic void executeApplication() {System.out.println("执行应用1");}@Overridepublic void exitApplication() {System.out.println("退出应用1");}
}

测试

如下代码,创建工厂类。然后从工厂类决定创建哪个Application子类的实例。

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 11:45* @Contact 643947568@qq.com*/
public class Main {public static void main(String[] args) {ApplicationFactory actualApplicationFactory = new ActualApplicationFactory();Application1 application1 = actualApplicationFactory.createApplication1();Application2 application2 = actualApplicationFactory.createApplication2();application1.enterApplication();application1.executeApplication();application1.exitApplication();application2.enterApplication();application2.executeApplication();application2.exitApplication();}
}

改造工厂类

可以采用泛型改造工厂类,使用反射创建,减少代码的冗余,具体可见工厂模式中的实现。

应用

对于多个对象,他们之间的存在着共通的实现逻辑,就好比手机的app,都需要我们在手机打开一样,而不用关心底层的实现逻辑,即使换了一个操作系统,苹果手机上也只需要更换一套工厂类,处理不同的系统信息。

http://www.dtcms.com/a/526544.html

相关文章:

  • 门户网站的发展趋势长沙房产交易中心官网
  • 电商网站模板引擎大于二高端网站建设
  • 网站建设文案策划上海网站建设报价表
  • 如何把网站能搜到南京环力建设有限公司网站
  • 门户网站营销公司管理网站首页
  • 建设银行开通网站查询密码开发区网站建设工作管理办法
  • 做免费互动小游戏的网站做二手房又做网站的
  • 采集网站后台数据北海做网站的网络公司
  • 伊犁州建设局网站客户端 网站开发 手机软件开发
  • 斗鱼企业网站建设的目的怎么做百度自己的网站
  • 高邮市建设局网站首页兰州网站建设设计
  • 天津网站建设哪家设计好温州微信网站定制
  • 泊头 网站优化手机网站的特点
  • 商城网站建设php高端企业网站建站
  • 体育建设网站首页小程序解决方案网页模板下载
  • 南宁品牌网站建设公司做网站设计的有些什么职位
  • 企业平台网站建设方案iis虚拟网站
  • 新手入门网站建设北京网站开发工程师
  • 怎么做带购物功能的网站东莞市哪里有做网站公司
  • 关于网站开发的商业计划书分享网站对联广告
  • 如何解决 pip install 安装报错 pyproject.toml 缺少 build-system.requires 问题
  • 在百度上做网站怎么做静态的网页wordpress
  • 游资作手新一的悟道心法
  • 实业 东莞网站建设做ppt的网站兼职
  • 【实战经验】fnOS 存储空间创建指南
  • 网站设计注册做报表的网站
  • 网站建设有趣名称中国光大国际建设工程公司网站
  • 网站运营seo招聘阳信县住房和城乡建设局网站
  • Restormer:用于高分辨率图像恢复的高效 Transformer
  • server 2012 iis 添加网站外贸网站建设公司效果