欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

简单工厂模式

程序员文章站 2022-05-17 14:46:23
...
      以前记得写过设计模式,那时只是强行记忆,如今根据自己的感想准备重新整理一下自己的知识点,并加入自己的思想。
简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式。
缺点:
 1、新增产品的时候必须修改工厂类中的实现逻辑;
优点:
 1、客户端不知道产品是怎么创建的,只要知道产品的参数就行,一定形式上增加了系统灵活性;
原理:
 由陈抽象产品定义好产品的共同特性,再由工厂通过客户端的参数自动生成产品经他
 
步骤:
  1、设计产品接口
  2、实现产品接口
  3、建立工厂并用静态方法创建产品,静态方法中必须有产品的标识
 
应用场景:
 1、连接不同的数据库
 2、网站语言的国际化
 3、根据客户端的信息做出不一样的决策

 

 

源码:

抽象产品

package com.kinglun.designPattern._1factory.simple;

//产品接口 其他产品必须实现这个接口

public interface Mobile {

      public String mobileInfo();

}

 

具体产品

package com.kinglun.designPattern._1factory.simple;

//手机苹果信息

public class Apple implements Mobile {

      @Override

       public String mobileInfo() {

             return "产品名:苹果,价格:¥5888,cpu:2,产地:美国";

       }

}

 

package com.kinglun.designPattern._1factory.simple;

//三星实现手机的接口

public class Samsung implements Mobile {

      @Override

      public String mobileInfo() {

            return "产品名:三星,价格:¥3444,cpu:2,产地:韩国";

      }

}

 

package com.kinglun.designPattern._1factory.simple;

//手机工厂

public class MobilFactory {

//静态方法创建手机

public static Mobile creatMobile(String mobilName){

      Mobile mobile = null;

      switch (mobilName) {

               case "Samsung":

               mobile = new Samsung();

               break;

               case "Apple":

               mobile = new Apple();

               break;

         }

        return mobile;

     }

}

 测试

package com.kinglun.designPattern._1factory.simple;

 

public class Test {

     public static void main(String[] args) {

           Mobile samsung = MobilFactory.creatMobile("Samsung");

           System.out.println(samsung.mobileInfo());

           Mobile apple = MobilFactory.creatMobile("Apple");

           System.out.println(apple.mobileInfo());

     }

}