(1)设计模式之简单工厂模式(创建型模式)

来源:互联网 发布:员工监控软件 编辑:程序博客网 时间:2024/06/04 19:35

声明:以下都是博主浅薄的经验之谈,欢迎大家学习交流

  • 博主是参考这个视频进行学习总结的:
    • 设计模式学习视频(点击我)
    • 提取码 : ivtk

官方性的话语这边就暂且不说了,说多了也未必能清楚的了解,先上类图、对于不理解类图中各条线的具体表示什么含义,博主这边也顺便写上相应的意思,助于大家理解
这里写图片描述

  • Driver.java
public interface Driver {    public void getConnection();}
  • MySQLDriver.java
public class MySQLDriver implements Driver{    @Override    public void getConnection() {        System.out.println("获取MySQL链接....");    }}
  • OracleDriver.java
public class OracleDriver implements Driver {    @Override    public void getConnection() {        System.out.println("获取Oracle链接.....");    }}
  • SQLFactory.java
public class SQLFactory {    /**     * 造对象     *      * @param type     * @return     */    public Driver getDriver(String type) throws InstantiationException, IllegalAccessException, ClassNotFoundException {        /*         * 第一种方法(缺点:当Driver接口的实现类多了的话,就需要动这部分的代码。不符合设计模式的封闭原则【封闭,封闭,         * 就是尽量少动之前写的代码了】)        if (type.equalsIgnoreCase("MySQL")) {            return new MySQLDriver();        } else if (type.equalsIgnoreCase("Oracle")) {            return new OracleDriver();        } else {            System.out.println("没有该类型...");            return null;        }        */        /*第二种方法*/        return (Driver)Class.forName(type).newInstance();    }}
  • Main方法
package com.dyx.design.simplefactory;/** * 描述: 简单工厂方法 */public class Main {    public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {        SQLFactory sqlFactory = new SQLFactory();        Driver mysqlDriver = sqlFactory.getDriver("com.dyx.design.simplefactory.MySQLDriver");//      Driver oracleDriver = sqlFactory.getDriver("mysql");        mysqlDriver.getConnection();//      oracleDriver.getConnection();    }}
  • 博主是参考这个视频进行学习总结的:
    • 设计模式学习视频(点击我)
    • 提取码 : ivtk
1 0
原创粉丝点击