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

抽象工厂模式(Abstract Factory)

抽象工厂模式是一种创建型设计模式,提供一个创建一系列相关或互相依赖对象的接口,而无需指定具体的类。

适用场景:

  • 当系统需要独立于产品的创建、组合和表示时。
  • 当系统的产品有多个变体并且需要组合使用时。

示例代码:

// AbstractProduct
interface Shape {void draw();
}// ConcreteProducts
class Circle implements Shape {@Overridepublic void draw() {System.out.println("Drawing a Circle");}
}class Square implements Shape {@Overridepublic void draw() {System.out.println("Drawing a Square");}
}// AbstractFactory
interface ShapeFactory {Shape createShape();
}// ConcreteFactories
class CircleFactory implements ShapeFactory {@Overridepublic Shape createShape() {return new Circle();}
}class SquareFactory implements ShapeFactory {@Overridepublic Shape createShape() {return new Square();}
}class Client {public static void main(String[] args) {ShapeFactory factory = new CircleFactory();Shape shape = factory.createShape();shape.draw(); // 输出: Drawing a Circle}
}


http://www.mrgr.cn/news/27685.html

相关文章:

  • uniapp vue里按钮上的文字,换行的方法,用rich-text
  • Spring Boot框架:电商系统的技术革新
  • GA/T1400视图库平台EasyCVR视频融合平台HLS视频协议是什么?
  • MySQL --- 自定义函数获取部门层级名称
  • 搜维尔科技:Manus VR数据手套集成,遥操作五指灵巧手解决方案
  • 什么是量化交易
  • 结构体的内存对齐
  • 【C++】STL--string(上)
  • HashSet及其实现原理
  • 四、(JS)JS中常见的加载事件
  • IEEE 754浮点数表示
  • Linux05
  • 物联网之ESP32与微信小程序实现指示灯、转向灯
  • MyBatis中多对一关系的三种处理方法
  • “双减”政策下的课外辅导变革:少儿编程迎来新机遇
  • Java内部类,看这一篇就够了!
  • synchronized的详解、锁的升级过程和优缺点比较
  • 什么是快充协议,最常见的快充协议有哪些
  • 进程间通信之消息队列详解
  • 个人虚拟物品商城网站源码,后台试Thinkphp6.0开发的,前端是vue的。
  • 三、(JS)JS中常见的表单事件
  • 返回当前栈内最小元素
  • Dubbo SPI源码
  • 面试题总结(三) -- 内存管理篇
  • Java--图书管理系统(新版详细讲解)
  • Scrapy 2.6 Spider Middleware 爬虫页中间件基本使用