【设计模式】简单工厂模式

来源:互联网 发布:一片汪都不见,知向谁边 编辑:程序博客网 时间:2024/06/01 08:14

设计模式总结链接


简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。


一。简解

简单工厂模式顾名思义,一个简单个工厂((∩_∩)跟没说一样),事实上就是一个简单的工厂,根据用户需求生产不同的东西仅此而已。


二。用途

简单工厂模式主要是以一个工厂类对外工作,用户可根据需求,调用相应的生产方法,来生产不同的对象,实现程序和new 对象之间的解耦,避免了因对象更改而造成的大面积修改代码。


三。案例

根据需求传入参数,实现对不同对象的生产。

测试类

package zsl.简单工厂模式;public class Main {    public static void main(String[] args) {        SimpleFactiory myFactiory = new SimpleFactiory();        System.out.println(myFactiory.productString("蔬菜"));             System.out.println(myFactiory.productString("米饭"));        System.out.println(myFactiory.productInteger("一"));        System.out.println(myFactiory.productInteger("五"));    }}

工厂类

package zsl.简单工厂模式;public class SimpleFactiory {    /**     * 此处以简单的String类型为例     *      * @param String     * @return     */    public String productString(String inputStr) {        if (inputStr.equals("水果"))            return "生产的水果";        if (inputStr.equals("蔬菜"))            return "生产的蔬菜";        return "请输入正确需求";    }    public Integer productInteger(String inputStr) {        if (inputStr.equals("一"))            return 1;        if (inputStr.equals("二"))            return 2;        return 0;    }}

四。优点

简单工厂模式比较简单,理解起来看很简单,实践起来也比较简单。
简单工厂模式,实现了创建和使用的解耦,很好的将程序模块化,增加了程序的可扩展性,满足面向对象的设计原则(开闭原则)。


五。不足

简单工厂模式还是太简单了,对于复杂的创建方式不太适合,只是进行了简单的逻辑判断就进行创建,在某些场景下不很适用。
工厂类集中了所以的创建逻辑,当有复杂的多层次等级结构时,所有的业务逻辑都在这个工厂类中实现,什么时候它不能工作了,整个系统都会受到影响(不要把鸡蛋放在一个篮子里)。


工厂方法模式,抽象工厂模式,简单工厂模式,三者区别

0 0
原创粉丝点击