工厂模式
Posted 我也姓程...
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工厂模式相关的知识,希望对你有一定的参考价值。
- 工厂方法模式: 定义一个创建产品对象的工厂接口, 让子类决定实例化哪一种实例对象, 也就是将实际创建实例对象的工作推迟到子类当中, 核心工厂类不再负责具体产品的创建.
- 设计原则
(1)"开-闭"原则: 一个软件实体应对扩展开放, 对修改关闭. 我们在设计软件模块的时候应该使这个模块可以在不修改的前提下被扩展.
(2)依赖倒置原则: 不论工厂还是产品都应该依赖于抽象, 而不是具体的实现类. - 使用场合
(1)当子类可能会有很多, 以后需要不断增添不同的子类实现时.
(2)当一个系统尚在框架设计阶段, 还不知道将来需要实例化哪些具体类时
(3)系统设计之初不需要具体对象的概念(或说没有具体对象的概念)
//抽象工厂 public interface ISwordFactory { public AbstractSword createSword(); }
//抽象产品 public abstract class AbstractSword { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
//具体工厂 public class CaoCao implements ISwordFactory { public AbstractSword createSword() { return new QiXingSword(); } }
//具体产品 public class BaXingSword extends AbstractSword { public BaXingSword() { this.setName("八星宝刀"); } }
//Main public static void main(String[] args) { // ISwordFactory factory = new CaoCao(); ISwordFactory factory = new CaoCao2(); //AbstractSword sword = factory.createSword(); AbstractSword sword = factory.createSword(); System.out.println(sword.getName()); }
以上是关于工厂模式的主要内容,如果未能解决你的问题,请参考以下文章
设计模式简单工厂模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )