简单但实用的简单工厂模式

简单但实用的简单工厂模式

简单工厂模式将有关创建和初始化产品对象的工作搬到一个工厂类中,客户端只需要根据参数调用工厂类的静态方法即可使用工厂类创建的产品对象,无需承担对象的创建工作。这样做的好处就是将对象的创建和使用分离开来,能够防止用来实例化一个类的数据和代码在多个客户端类中到处都是,利于系统维护。

模型结构图如下:

简单但实用的简单工厂模式

其中包含以下几个角色:

具体实现代码:

// 抽象产品类abstract class Product {
 // 所有产品类的公共业务方法
 public void methodSame() {
 // 实现
 }
 // 声明抽象业务方法
 public abstract void methodDiff();}// 具体产品类 ProductAclass ProductA extends Product {
 @Override
 public void methodDiff() {
 }}// 具体产品类 ProductBclass ProductB extends Product {
 @Override
 public void methodDiff() { 
 }}// 工厂类class Factory {
 // 静态工厂方法
 public static Product createProduct(String arg) {
 Product product = null;
 if(arg.equalsIgnoreCase("A")) {
 product = new ProductA();
 } else if(arg.equalsIgnoreCase("B")) {
 product = new ProductB();
 }
 return product;
 } }// 客户端测试代码public class Client {
 public static void main(String[] args) {
 Product product;
 product = Factory.createProduct("A"); // 通过工厂类创建产品对象
 product.methodSame();
 product.methodDiff();
 }}

有时,为了简化工厂模式,可以将抽象产品类和工厂类合并,将静态工厂方法移至抽象产品类。

简单但实用的简单工厂模式

其主要缺点在于

适用场景:

(完)

展开阅读全文

页面更新:2024-06-17

标签:工厂   模式   品类   抽象   静态   客户端   实例   逻辑   角色   对象   代码   简单   业务   方法   数码   工作   产品

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top