简单工厂模式
    简单工程模式又称静态工厂方法,它的核心是类中包含一个静态方法,该方法用于根据参数来决定返回实现
   同一接口不同类的实例。

public class SimpleFactoryPattern {public static void main(String[] args) {//根据不同参数生成产品SimpleFactory.factory("Android");SimpleFactory.factory("Iphone");SimpleFactory.factory("Null");}
}interface Product{
}class Android implements Product{public Android(){System.out.println("安卓手机被创建!");}
}class Iphone implements Product{public Iphone(){System.out.println("苹果手机被创建!");}
}class SimpleFactory{public static Product factory(String className){if ("Android".equals(className)){return new Android();}else if ("Iphone".equals(className)){return new Iphone();}else{return null;}}
}

定义SimpleFactory类就是简单工厂的核心,该类拥有必要的逻辑判断和创建对象的责任。由此可见,简单工厂就是将创建产品的操作集中在一个类中。工厂类SimpleFactory有很多局限,首先,维护和新增产品时,都必须修改SinmpleFactory源代码。其次,如果产品之间存在复杂的层次关系,则工厂类必须拥有复杂的逻辑判断。最后,整个系统都依赖SimpleFactory类,一旦SimpleFactory类出现问题,整个系统就将瘫痪不能运行。

java设计模式--简单工厂设计模式SimpleFactoryPattern相关推荐

  1. 设计模式——简单工厂设计模式

    简单工厂设计模式 建立一个工厂类,对实现了同一接口的类进行实例的创建.简单工厂模式的实质是有由一个工厂类根据传入的参数动态的决定应该创建哪一个实现类. /** 简单工厂设计模式* *///抽象接口水果 ...

  2. python设计模式名片_Python 设计模式 简单工厂(设计模式之禅)

    # -*- coding: utf-8 -*- # author: zhonghua # filename: pd_factory.py # create: 2016/3/28 # version: ...

  3. 设计模式---简单工厂设计模式

    先定义一个抽象类Animal: 定义两个动物类继承这个类: 定义一个专门生产动物的工程类: 最后定义一个测试类: 按照这个动物工厂类,你会发现,如果动物一多的话,就需要写很多重复的方法,所以,就进行了 ...

  4. Java设计模式之简单工厂设计模式

    工厂设计模式 简单工厂设计模式是由一个工厂对象决定创建出哪一种产品类的实例.简单工厂设计模式是工厂设计模式家族中最简单实用的模式 我们还是通过例子进行说明 实例场景:假设就是一个工厂生产phone和t ...

  5. 三角形圆形创建与擦除java_设计模式---------------简单工厂模式

    设计模式---------------简单工厂模式 一.题目(Question) 使用简单工厂模式设计一个可以创建不同几何形状(如圆形.方形和三角形等)的绘图工具,每个几何图形都要有绘制draw()和 ...

  6. Spring常用设计模式--简单工厂模式

    本专栏内容参考自:咕泡学院Tom老师的<Spring5核心原理与30个类手写实战>,仅作个人学习记录使用,如有侵权,联系速删. 工厂模式的由来:   在现实生活中我们都知道,原始社会自给自 ...

  7. Android工厂设计模式(简单工厂,工厂方法,抽象工厂,BitmapFactory简单工厂分析,Retrofit抽象工厂分析)

    文章目录 创建型设计模式(简单工厂,工厂方法,抽象工厂) 一.简单工厂模式 引出简单工厂模式 二.工厂方法模式 三.抽象工厂模式 Android源码中用到的工厂模式举例 一.BitmapFactory ...

  8. 剖析java三种工厂设计模式

    java三种工厂设计模式 1. 简单工厂模式 简单工厂有以下三个主角: Factory:工厂负责生产产品 AbstructProduct:抽象产品,就好比华为手机,我没说是华为那个型号手机. Prod ...

  9. JavaScript设计模式--简单工厂模式例子---XHR工厂

    JavaScript设计模式--简单工厂模式例子---XHR工厂 第一步,Ajax操作接口(目的是起一个接口检测作用) (1)引入接口文件 //定义一个静态方法来实现接口与实现类的直接检验 //静态方 ...

最新文章

  1. 途游斗地主加密协议分析及破解
  2. 微软职位内部推荐-Senior Software Engineer II-Search
  3. python程序设计课后答案祁瑞华_清华大学出版社-图书详情-《Python 程序设计》
  4. MinGW+Lua环境配置小结
  5. MySQL的sql_mode解析与设置
  6. jboss调jvm参数_在同一台机器上启动多个JBoss A-MQ JVM
  7. 前端学习(2778):uni组件库的使用
  8. git命令之:上传到的远程仓库
  9. 在线编程语言模拟(Java,C,Python,R语言,Ruby,PHP,Perl,Go等)
  10. 【模拟】Workout for a Dumbbell
  11. 转载于:http://blog.csdn.net/iorikyo/article/details/1314892
  12. 微信飞机小游戏java_Shoot Plane 仿微信打飞机游戏的java实现
  13. gambit多面整合
  14. 汇编语言属于计算机科学,汇编语言是一种依赖于计算机的低级程序设计语言吗...
  15. 关于杭州电子科技大学毕业论文格式设置
  16. 磁盘 I/O 和网络
  17. 计算机的屏幕保护怎样开启,win10如何关闭和开启屏幕保护
  18. Ubuntu下Apache重启错误:Could not reliably determin解决
  19. 解决photoshop菜单卡顿,闪动,停顿问题
  20. 看盘做短线的10种方法(转)

热门文章

  1. CodeForces - 1288C Two Arrays(组合数学)
  2. 机器学习-Kmeans聚类
  3. EOJ_1064_树的层号表示法
  4. java平均差_如何做好描述统计分析
  5. httpclient 设置超时时间_面试官:技术选型,HttpClient还是OkHttp?
  6. 容器中构建镜像慢,在dockerfile中换源加速
  7. HDU3634(矩形切割)
  8. CSP-2019总结
  9. EXE和SYS通信(ReadFile WriteFile DO_DIRECT_IO) 直接方式
  10. 2_5 BridgeMode.cpp 桥接模式