转发Java设计当中的工厂设计模式
2021-03-21 00:26
                         标签:rod   空调被   决定   rac   结构   多态   工作   system   actor    工厂模式:主要用于实例化具有公共接口的类。工厂模式可以动态确定哪个类应该被实例化。   工厂模型的形式   工厂模型主要使用以下几种形式之一:   1:简单工厂(Simple  Factory)。   2:工厂法(Factory  Method)。   3:抽象工厂(抽象工厂)。   简易工厂(简易工厂)   也叫静态工厂,是工厂模式3状态下最简单的结构。主要有一个静态方法,用来接受参数,根据参数决定返回实现相同1接口的不同类的实例。让我们看一个具体的例子:   假设一个工厂生产洗衣机、冰箱、空调等等.   我们首先为所有产品定义一个通用的产品界面   公共界面产品{}   然后我们让这个工厂的所有产品都必须实现这个接口   公共类洗衣机实现产品{   公共洗衣机(){   System.out.println(‘洗衣机制造‘);   {}   {}   公共类Impox实现产品{   public  Impox(){   System.out.println(‘冰箱制造‘);   {}   {}   公共级空调实施产品{   public  Impox(){   System.out.println(‘空调制造‘);   {}   {}   接下来,我们将编写一个工厂类,负责生产上述产品   公共类SimpleFactory  {   公共静态产品工厂(字符串产品名称)引发异常{   if(ProductName  . equals(‘ Washer  ‘)){   退回新垫圈();   } else  if(ProductName  . equals(‘ Impox  ‘){   return  new  Impox();} else  if(ProductName  . equals(‘ AirCondition  ‘){   返回新空调();   }else{   抛出新的Exception(‘没有这样的产品‘);   {}   {}   {}   好了,有了这个工厂类,我们就可以开始下单了,SimpleFactory会根据不同的订单类来决定生产什么产品。   公共静态void  main(String[] args) {   尝试{   simpleFactory  . Factory(‘ Washer  ‘);   simple  factory  . factory(‘ Impox  ‘);   SimpleFactory.factory(‘空调‘);   }捕获(例外e) {   e  . printstacktrace();   {}   {}   从上面的代码可以看出,一个SimpleFactory的核心是一个SimpleFactory类,它具有必要的逻辑判断能力和创建所有产品的权利。我们只需要给他订单就能得到我们想要的产品。这个好像用起来很方便。   然而,事实上,这个简单工厂有许多限制。首先,每次我们要添加一个新的产品,都要修改SimpleFactory的原始代码。其次,当我们的产品很多,产品之间存在复杂的层次关系时,这个类必然具有复杂的逻辑判断能力,其代码量会持续激增,对于未来的保护简直是吓人。   此外,所有系统都严重依赖SimpleFactory类。只要SimpleFactory类1出了问题,系统就会进入无法工作的状态,这也是最致命的一点.   上述缺点将在工厂模式的另外两种状态下得到解决。   工厂方法(工厂方法)   上面的代码告诉我们,简单的工厂并不简单,它是所有模型的核心。一旦出了问题,所有的模型都会受到影响,无法工作。为了降低风险,为未来的保护和扩展做准备,我们需要对其进行改造,并引入工厂方法。工厂方法为工厂类定义了接口,用多态来削弱了工厂类的职能,以下是工厂接口的定义:   公共接口工厂{   public  Product  create();   {}   我们再来定义1个产品接口   公共界面产品{}   1下是实现了产品接口的产品类   公共类洗衣机实现产品{   公共洗衣机({   System.out.println(‘洗衣机被制造了);   {}   {}   公共类Impox实现产品{   public  Impox(){   System.out.println(‘冰箱被制造了);   {}   {}   公共级空调实施产品{   public  Impox(){   System.out.println(‘空调被制造了);   {}   {}   接下来,就是工厂方法的核心部份,也就是具体创建产品对象的具体工厂类,   //创建洗衣机的工厂   公共类创建洗衣机实现工厂{   公共产品创建({   退回新垫圈();   {}   {}   //创建冰箱的工厂   公共类创建冰箱实现工厂{   公共产品创建({   返回new  Impox();   {} 转发Java设计当中的工厂设计模式 标签:rod   空调被   决定   rac   结构   多态   工作   system   actor    原文地址:https://www.cnblogs.com/mt888888/p/13909085.html
上一篇:java基础课程第二章编程题
下一篇:java实现-字典序全排列