设计模式——工厂方法
2023-09-14 08:57:01 时间
工厂角色:
package designpattern.creation.factorymethod; public class FactoryA { public IProduct getProduct() { return new ProductA(); } } package designpattern.creation.factorymethod; public class FactoryB { public IProduct getProduct() { return new ProductB(); } }
产品角色:
package designpattern.creation.factorymethod; public interface IProduct { void use(); } package designpattern.creation.factorymethod; public class ProductA implements IProduct { public void use() { // TODO Auto-generated method stub System.out.println("ProductA.use()"); } } package designpattern.creation.factorymethod; public class ProductB implements IProduct { public void use() { // TODO Auto-generated method stub System.out.println("ProductB.use()"); } }
客户端:
package designpattern.creation.factorymethod; /* * * 工厂方法用于处理更加复杂的情况。 * —— 当产品出现不用种类的时候。 * 为什么 称这种模式为工厂方法? ? * * 要素: * * 1 只有多个工厂 * 2 工厂有一个方法 ,每个工厂只负责生产一个产品 * 3 客户端通过调用不同工厂的相同方法获取对应的不同的产品 * * 缺点: * 每增加一个产品则需要增加2个类: 一个工厂、一个具体产品—— 这样导致类的膨胀 * * * 使用场景? * */ public class Client { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub IProduct product = new FactoryA().getProduct(); product.use(); IProduct product2 = new FactoryB().getProduct(); product2.use(); } }
相关文章
- python字符串常用方法及汇总
- 零基础学习设计模式之模版方法模式(文档)
- 「设计模式 JavaScript 描述」模板方法模式
- 一起学习设计模式--03.工厂方法模式
- 设计模式-模板方法模式
- 设计模式 - 创建型模式_工厂方法模式
- 【Android 异步操作】AsyncTask 异步任务 ( 参数简介 | 方法简介 | 使用方法 | AsyncTask 源码分析 )
- 模板方法设计模式(TemplateMethod)
- 工厂方法模式 创建型 设计模式(三)详解程序员
- 设计模式之模板方法模式(行为型)详解架构师
- 包在Linux中查找rpm包的方法(查找linuxrpm)
- 解决Oracle数据库错误的方法(Oracle排错)
- 的操作MySQL中操作二进制数据的简单方法(mysql二进制数据)
- 实现Oracle树形结构查询的有效方法(oracle树形结构查询)
- 详解hbase搭建遇到问题及解决方法
- Linux实现信号量的方法(linux信号量实现)
- Linux 上查看服务器状态:一种快捷方便的方法(linux查看服务器状态)
- 小Oracle中调整数据文件大小的方法(oracle中数据文件大)
- Redis集群连接数查看方法(redis查看集群连接数)
- 智能电视破解软件下载方法
- 让用户自己控制网页字体的大小的css书写方法
- iis服务器应用程序不可用的解决方法
- jQuery获取样式中颜色值的方法