资讯专栏INFORMATION COLUMN

简单抽象工厂

Tony / 1164人阅读

摘要:抽象工厂模式定义抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。

抽象工厂模式
定义:抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象

优点:
1.它分离了具体的类
2.它使得易于交换产品系列
3.它有利于产品的一致性
缺点:
难以支持新种类的产品

代码

注解: 由于抽象工厂比较适合比较大型的项目,贴合vue实际操作也没有想到合适的使用,所以使用了周边的业务场景来实现一个简单的抽象工厂,下面我们来看todoList的抽象类,里面它会检测是否有客户使用了它本身,如果使用了它的本身则抛出一个错误,然后创建了两个具体的产品类日常工作的todoList和学习的todoList,并且继承基类todoList,并对它进行覆盖实现

  //抽象产品 (todoList)
class todoList  {
    constructor () {
        if (new.target === todoList) {
            throw new Error("抽象类不能实例化")
        }
    }
}
/**
 * 具体产品类
 */
// 创建工作
class dailyWork extends todoList{
    constructor (name) {
        super()
        this.name = name
    }
    create () {
        console.log("日常工作", this.name)
    }
}
// 创建学习
class study extends todoList{
    constructor (name) {
        super()
        this.name = name
    }
    create () {
        console.log("学习", this.name)
    }
}
// 使用
function use(type) {
    switch (type)  {
        case "work":
            return dailyWork
            break;
        case "study":
            return study
            break;
    }
}
let dailyWork1 = use("work")
let study1 = use("study")

let newWork = new dailyWork1("添加虚拟号")
let newStudy = new study1("vue")
newWork.create() // 学习 vue
newStudy.create() // 日常工作 添加虚拟号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104509.html

相关文章

  • JavaScript工厂模式

    摘要:基于工厂角色和产品角色的多态性设计是工厂方法模式的关键。工厂方法模式之所以又被称为多态工厂模式,是因为所有的具体工厂类都具有同一抽象父类。工厂方法模式总结工厂方法模式是简单工厂模式的进一步抽象和推广。 JavaScript工厂模式 首先需要说一下工厂模式。工厂模式根据抽象程度的不同分为三种 简单工厂模式 工厂方法模式 抽象工厂模式 1.简单工厂模式 简单工厂模式:又称为静态工厂方法...

    oujie 评论0 收藏0
  • Java 设计模式 简单工厂 工厂模式 抽象工厂

    摘要:简单工厂,工厂模式和抽象工厂。不要认为简单工厂是用就觉得一无是处,也不要觉得抽象工厂比较高大上就到处套。 工厂模式,实际上也会根据业务情景不同会有不同的实现方式。一般分为3种。简单工厂,工厂模式和抽象工厂。顾名思义,这三种从简单到抽象,名称越来越高大上,实现方式肯定是越来越复杂 结论1:三种工厂的实现越来越复杂 简单工厂 public class Factory { // 定义...

    CocoaChina 评论0 收藏0
  • js常用设计模式实现(二)工厂模式和抽象工厂模式

    摘要:抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。前边的两个都是直接生产实例的,开始以为抽象工厂也是但是后来发现抽象工厂更像是生产工厂,其实抽象工厂其实是实现子类继承父类的方法。 创建型模式 创建型模式是对一个类的实例化过程进行了抽象,把对象的创建和对象的使用进行了分离 上一篇介绍了下单例模式,这一篇介绍一下工厂模式和抽象工厂模式,...

    meteor199 评论0 收藏0
  • PHP高级特性-反射Reflection以及Factory工厂设计模式的结合使用[代码实例]

    摘要:反射提供给面向对象编程可以自省的能力,即反射。在简单工厂模式中,根据传递的参数来返回不同的类的实例简单工厂模式又称为静态工厂方法模式。也就是简单工厂模式工厂工厂类。PHP高级特性-反射以及工厂设计模式的结合使用 [结合 Laravel-Admin 代码实例讲解]利用反射来实现工厂模式的生产而无需创建特定的工厂类本文地址http://janrs.com/?p=833转载无需经过作者本人授权转载...

    番茄西红柿 评论0 收藏2637
  • Java设计模式-工厂模式

    摘要:一简单工厂定义简单工厂其实并不属于种设计模式之一,该模式是工厂方法模式的弱化或者说是工厂方法模式的一种特例,因为简单,所以称为简单工厂模式,也叫做静态工厂模式。 一、简单工厂 定义 简单工厂其实并不属于23种GOF设计模式之一,该模式是工厂方法模式的弱化(或者说是工厂方法模式的一种特例),因为简单,所以称为简单工厂模式(Simple Factory Pattern),也叫做静态工厂模式...

    Songlcy 评论0 收藏0
  • Java 设计模式之工厂模式

    摘要:与以往的使用的方式不同,工厂模式使用工厂实例化对象。抽象工厂模式亮相抽象工厂模式抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。 写在前面 这篇博文介绍设计模式的形式将与其他篇博文不太一样,这里我们将从一个问题入手,逐步了解到简单工厂、工厂方法与抽象工厂模式。 PS:这篇博文涉及的内容较多,所以篇幅有点长,请耐心阅读。 为什么要使用工厂模式? 在 OO ...

    Jochen 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<