zoukankan      html  css  js  c++  java
  • 创建型模式(前引)简单工厂模式Simple Factory

    一引出的原因(解决下面的问题)

    简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。
    在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 
     
    二代码实现
    1.创建接口
    public interface TV
    {
        public void play();
    }

    2.创建接口的实现类

     
    HaierTV.java
    public class HaierTV implements TV
    {
        public void play()
        {
            System.out.println("海尔电视机播放中......");
        }
    }
    HisenseTV.java
    public class HisenseTV implements TV
    {
        public void play()
        {
            System.out.println("海信电视机播放中......");
        }    
    }

    3.创建工厂类

    public class TVFactory
    {
        public static TV produceTV(String brand) throws Exception
        {
            if(brand.equalsIgnoreCase("Haier"))
            {
                System.out.println("电视机工厂生产海尔电视机!");
                return new HaierTV();
            }
            else if(brand.equalsIgnoreCase("Hisense"))
            {
                System.out.println("电视机工厂生产海信电视机!");
                return new HisenseTV();
            }
            else
            {
                throw new Exception("对不起,暂不能生产该品牌电视机!");
            }
        }
    }

    三.经典应用

    权限管理

    四.在Java语言中的应用

    1. 在JDK类库中广泛使用了简单工厂模式,如工具类java.text.DateFormat,它用于格式化一个本地日期或者时间。
    public final static DateFormat getDateInstance();
    public final static DateFormat getDateInstance(int style);
    public final static DateFormat getDateInstance(int style,Locale locale);

     2.Java加密技术

    //获取不同加密算法的密钥生成器
    KeyGenerator keyGen=KeyGenerator.getInstance("DESede");
    
    
    //创建密码器
    Cipher cp=Cipher.getInstance("DESede");
  • 相关阅读:
    14、打开MySQL数据库远程访问权限
    11、mysql导出数据库表的创建sql语句
    13、自增长主键及字符集的修改
    ASP.NET2.0 Provider模型
    ASP.NET Provider模型(3)
    ASP.NET2.0 ObjectDataSource的使用详解
    ASP.NET2.0快速入门存储用户配置文件
    ASP.NET2.0快速入门--使用母版页创建布局
    ASP.NET2.0 ObjectDataSource的使用详解(3)
    ASP.NET2.0 Provider模型(二)
  • 原文地址:https://www.cnblogs.com/Mike-zh/p/3629722.html
Copyright © 2011-2022 走看看