简单工厂模式

简单工厂模式

简单工厂模式,准确来说不属于设计模式中的一种,可以作为我们学习设计模式的入门。在我看来,学习简单工厂模式重要的在于理解它的思想和这样设计的好处,便于我们理解设计模式的6大原则,也可以作为工厂模式的基础来学习。

目标是什么?

简单工厂模式的目标,或者说我们使用简单工厂模式应该达到什么样的效果呢?
我们的程序在实现了需求之后,我们需要思考的就是如何使程序容易维护,容易扩展,容易复用,从而达到高质量代码的要求。我们可以将具有相同特性的对象提取为一个工厂,根据不同的需求,我们在new这个工厂时可以返回不同的对象。

实现原理

根据面向接口编程,我们在new一个工厂类时,返回的应该是一个接口,我了解的大体有两种实现方式:
1.根据new工厂时传递进来的参数,在工厂类中进行判断,从而返回实现同一接口的不同类;
2.在工厂类中写多个方法,每个方法返回不同的对象。个人比较喜欢这种,因为使用者可以不需要知道哪个参数对应哪个对象,完全根据方法简介来进行调用。
下面我将使用第二种方式来实现一个简单工厂。

简单实现

package domain;

/**
 * 简单工厂类
 */
public class AnimalFactory {
    
    /**
     * 获得猪猪
     * @return
     */
    public static Factory getPig(){
        return new Pig();
    }

    /**
     * 获得狗狗
     * @return
     */
    public static Factory getDog(){
        return new Dog();
    }
    
}

这种工厂也叫方法工厂。这个代码也比较简单,就不多做解释了,重要的是思想,我们需要用心去体会。

总结

我们时刻需要考虑如何使代码更简洁,更容易维护,更容易扩展和复用。这是我从简单工厂模式中认识到最重要的思想。
到此简单工厂结束。如果有什么错误或者建议的,欢迎评论或者私信我,谢谢各位!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值