`
kinglun
  • 浏览: 42182 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
阅读更多
      以前记得写过设计模式,那时只是强行记忆,如今根据自己的感想准备重新整理一下自己的知识点,并加入自己的思想。
简单工厂模式(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());

     }

}

1
0
分享到:
评论
2 楼 kinglun 2014-04-08  
小菜鸟蜕变之路 写道
switch()里面能有string类型吗?

jdk8的特性
1 楼 小菜鸟蜕变之路 2014-04-07  
switch()里面能有string类型吗?

相关推荐

    工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式

    工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式** 简单工厂模式是最简单的工厂模式实现,它提供一个静态方法或者类来创建对象,这个类通常被称为“工厂”。用户只需要...

    简单工厂模式-工厂方法模式-抽象工厂模式

    在软件设计模式中,工厂模式是一组非常基础且实用的设计模式,主要分为简单工厂模式、工厂方法模式和抽象工厂模式。这些模式都是为了解决对象创建的问题,通过封装对象的创建过程,使得代码更加灵活,易于扩展和维护...

    JAVA设计模式(01):创建型-工厂模式【简单工厂模式】(Simple Factory)

    **简单工厂模式**是软件设计模式中的一种,属于创建型模式。在Java编程中,它是一种用于创建对象的简便方法,将对象的实例化过程封装到一个单独的工厂类中,使得客户端代码无需直接调用具体类的构造函数,而是通过...

    uml 文档 简单工厂模式

    UML文档-简单工厂模式 简单工厂模式是一种专门负责将大量有共同接口的类实例化的模式,而不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一个类。 简单工厂模式的...

    简单工厂模式uml类图

    java设计模式 简单工厂模式uml类图,一张图就让你秒懂简单工厂模式

    简单工厂模式_简单工厂模式_

    简单工厂模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。这种模式使得代码能够将实例化的责任封装起来,使得客户端代码无需关心具体的对象实现,只需要知道一个公共接口即可...

    C#简单工厂模式女娲造人

    "C#简单工厂模式女娲造人"这个标题和描述采用了一种形象的比喻,将创建对象的过程比作神话故事中的女娲造人,以帮助理解简单工厂模式的基本概念。 简单工厂模式是一种创建型设计模式,它的核心思想是提供一个工厂类...

    Android计算器(简单工厂模式)

    **Android计算器(简单工厂模式)** 简单工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在这个模式中,一个单独的类(被称为工厂)负责创建对象,客户端通过调用工厂方法来获取所需的对象,而无需...

Global site tag (gtag.js) - Google Analytics