工厂方法模式(设计模式_08)

工厂方法模式遵循了,开放封闭式原则,我们直接用案例来体现:

// 定义一个电脑接口
public interface IComputer {

    // 获取电脑组件的方法
    public void myStyle();

}

// 电脑适配器实现电脑接口
public class Adapter implements IComputer{

    public void myStyle() {
        System.out.println("这是电脑的充电器....");
    }

}

// 电脑主板实现电脑
public class Board implements IComputer {

    public void myStyle() {
        System.out.println("这是电脑主板...");
    }

}

// 显示屏类实现电脑
public class Display implements IComputer{

    public void myStyle() {
        System.out.println("这是电脑显示屏...");
    }

}

此时切换到工厂方法模式区域

// 定义工厂接口,此工厂接口可以制作很多东西,例如 电脑,平板,手机,等等....

public interface IFactory {

    /**
     * 定义制造电脑的函数
     * @return 返回电脑接口
     */
    public IComputer getComputer();

}

// 工厂实现工厂接口
public class Factory implements IFactory {

    public IComputer getComputer() {
        // 这个Computer类,下面区域有介绍到
        return new Computer(new Display(), new Board(), new Adapter());
    }

}

// Computer类
// 电脑类实现电脑接口 == 一台电脑
public class Computer implements IComputer{

    // public Computer(){};

    private Display engine;
    private Board underpan;
    private Adapter wheel;

    public Computer(Display engine, Board underpan, Adapter wheel){
        this.engine = engine;
        this.underpan = underpan;
        this.wheel = wheel;
    }

    public void myStyle() {
        engine.myStyle();
        underpan.myStyle();
        wheel.myStyle();
    }

}

// 客户端程序
public class Main {

    public static void main(String [] args) {

        // 得到工厂
        IFactory factory = new Factory();

        // 调用工厂去制作电脑
        IComputer car = factory.getComputer();

        car.myStyle();

    }

}

运行结果:
这里写图片描述


谢谢大家的观看,更多精彩技术博客,会不断的更新,请大家访问,
刘德利CSDN博客, http://blog.csdn.net/u011967006

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值