美文网首页
Java设计模式-简单工厂模式

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

作者: 我叫路飞啊 | 来源:发表于2017-12-21 21:56 被阅读0次

    简单工厂模式

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

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


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

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


    下面是简单工厂模式示例

    代码

    创建一个水果的接口


    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、代码模块职责更明确了,有专门消费的模块、有专门生产的模块


    这就是一个简单工厂模式

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

    相关文章

      网友评论

          本文标题:Java设计模式-简单工厂模式

          本文链接:https://www.haomeiwen.com/subject/ywkewxtx.html