• 02 工厂模式


    工厂模式:

    最典型特征:调用一个函数返回一个类的实例。这个函数可以直接调用如fn() 或者类的静态方法。 Factory.create() create就是Factory的静态方法。

     class Plant{
      constructor(name){
        this.name=name
      }
      grow(){
        console.log('grow');
      }
    }
    
    class Apple extends Plant{
      constructor(name,taste){
        super(name)
        this.taste =taste
      }
    
    }
    const apple1=new Apple('apple1','sweet')
    console.log(apple1);

    简单工厂模式

    class Plant{
      constructor(name,taste){
        this.name=name;
        this.taste=taste;
      }
    }
    class Apple extends Plant{
     
    }
    class Orange extends Plant{
     
    }
    // 工厂模式典型特征:调用一个函数,返回一个类的实例对象。
    /**
     简单工厂模式
     */
    class Factory{
       static create(type){
        if(type==='apple'){
          return new Apple('苹果','甜的')
        }
        if(type==='orange'){
          return new Orange('橘子','酸的')
        }
        else  throw Error('没有这个水果')
      }
    }
    // 调用一个类的静态方法,返回一个类的实例对象
    const apple=Factory.create('apple')
    console.log(apple);
    View Code

    举例子

    简单工厂模式违背了 2.开放封闭原则:软件对扩展开放,对修改封闭。大白话:增强新需求,扩展新代码,而不是修改已有代码

     

    工厂方法模式

    核心的工厂类不在负责所有产品的创建,而是将具体的产品创建工作交给子类完成

  • 相关阅读:
    如何使用参数给 Scrapy 爬虫增加属性
    如何正确在 PyCharm 中调试 Scrapy 爬虫?
    Chrome 开发者工具的最佳用法
    Chrome 开发者工具的各种骚技巧
    跨库数据备份还原、迁移工具
    意向锁
    十六进制

    lombok @Builder注解
    什么是强引用、软引用、弱引用、虚引用?
  • 原文地址:https://www.cnblogs.com/xiaoliziaaa/p/13754504.html
Copyright © 2020-2023  润新知