Java设计模式-简单工厂模式

简单工厂模式

目的是为了符合开发高内聚低耦合。

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


代码的耦合度太高,会使以后做维护的难度大大增加,所以我们要降低耦合度,这样代码模块间

就分的很清楚,便于维护和阅读。



下面是简单工厂模式示例

代码

创建一个水果的接口


package com.pp.Factory;

    public interface Fruit {

    //种植

    public void plant();

    //生长

    public void grow();

    //收获

    public void harveset();

}



下面是两个子类来遵从这个接口,实现里面的方法


public class Apple implements Fruit {

    @Override

    public void plant() {

    System.out.println("苹果类重写的种植方法");

    }

    @Override

    public void grow() {

    // TODO Auto-generated method stub

    System.out.println("苹果类重写的生长方法");

    }

    @Override

    public void harveset() {

    // TODO Auto-generated method stub

    System.out.println("苹果类重写的收获方法");

    }

}



public class Banana implements Fruit {

    @Override

    public void plant() {

    // TODO Auto-generated method stub

    System.out.println("这是香蕉重写的种植方法");

    }

    @Override

    public void grow() {

    // TODO Auto-generated method stub

    System.out.println("这是香蕉重写的生长方法");

    }

    @Override

    public void harveset() {

    // TODO Auto-generated method stub

    System.out.println("这是香蕉重写的收获方法");

    }

}



然后再建一个管理水果的就是水果种植基地的老板之类的



public class Gardener {

    //获取水果的方法

    public static Fruit getFruit(String fruit) {

        if (fruit.equalsIgnoreCase("apple")) {

            return new Apple();

        } else if(fruit.equalsIgnoreCase("banana")) {

           return new Banana();

        } else {

            return null;

        }

}

//想要什么水果就可以把参数写成什么水果

public static void main(String[] args) {

    Fruit f = Gardener.getFruit("APPLE");

    f.grow();

    Fruit f2 = Gardener.getFruit("BANANA");

    f2.harveset();

    }

}



这样写程序,看着容易多了

1、用户不自己去生产产品,只需要负责去拿自己需要的东西就好了,这样用户-->产品之间的耦合度就降低了

2、代码模块职责更明确了,有专门消费的模块、有专门生产的模块



这就是一个简单工厂模式

这个代码还能改进,以后再来写。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,230评论 18 399
  • 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种...
    梦想编织者灬小楠阅读 5,016评论 3 2
  • Java设计模式-简单工厂模式 简单工厂模式(逻辑判断) 对实现同一个接口的类,我们可以使用一个工厂类来封装这些类...
    Sammy_ao阅读 1,373评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,092评论 19 139
  • 人生中那些不了了之的关系,都在用过程诉说着过客的重要。 美好的东西永远得不到,得到的东西往往就不再美好。曾在...
    逢清阅读 3,730评论 0 2

友情链接更多精彩内容