java设计模式初步摸索(简单工厂模式)

本文介绍了简单工厂模式的设计理念,通过鞋厂生产不同品牌鞋子的例子,阐述了该模式的低耦合、良好的可扩展性等特点,并提供了实现代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单工厂模式大意:通过工厂能够生产不同的产品对象。利用一个单独的类创建不同类的实例化对象,所以简单工厂模式也算设计模式中创建型的一种,这个单独的类就是工厂类,能够实例化出不同类型的对象,如果我们需要什么类型的对象,可以通过工厂类获取,而不需要自己实例化,暂时理解为分门别类,统一管理的方式。

理解场景:每个人都需要穿鞋,古代人穿鞋大都需要自己做,穷人穿草鞋,富人穿布鞋,随着工业化的发展,现代人少有人自己纳鞋,而是直接购买,购买的鞋来自于工厂,为了满足市场不同的需求,工厂可以生产出各式各样的鞋(比如说莆田0.0),可生产“nike“,”adidas“,”Vans“,”CONVERSE”等。或许这就能体现简单工厂模式的优点吧。

1.个体和鞋工厂分工明确,这是低耦合的特点。
2.只需要一个工厂,就可以满足N多人穿鞋的需求。
3.很明显,鞋厂会适应各种人品味需求而增加鞋的种类,改变鞋的款式。而个人想做出自己想要的鞋显然不现实,这是良好的可扩展性。

简单工厂模式实现原理:

这里写图片描述

代码:

package cn.simplefactory;


//抽象类角色
interface Shoes{
    public void showDiffer();
}


//具体产品角色
class  Vans implements Shoes{
    @Override
    public void showDiffer(){
        System.out.println("这是Vans!");
    }
}
class CONVERSE implements Shoes{
    @Override
    public void showDiffer(){
        System.out.println("这是匡威!");
    }
}

//工厂角色
class ShoesFactory{
    public static Shoes getshoesType(String str){
        if(str.equals("vans")){
            return new Vans();
        }
        else if(str.equals("converse")){
            return new CONVERSE();
        }
        else
            return null;
    }
}
public class TestShoes {

    public static void main(String[] args) {

        Shoes s1 = ShoesFactory.getshoesType("vans");
        s1.showDiffer();

        Shoes s2 = ShoesFactory.getshoesType("converse");
        s2.showDiffer();
    }

}

总结:简单工厂模式三要素:抽象类角色,具体产品角色,工厂类角色。

心得:学习设计模式要深入实践才能深刻明白其中的原理和使用方法。先大概了解设计模式的思想,在后面的漫漫长路中细细去体会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值