首页 > 其他分享 >前端设计模式——工厂模式

前端设计模式——工厂模式

时间:2023-03-06 11:14:00浏览次数:28  
标签:function 创建 前端 工厂 按钮 new 设计模式 type

前端中的工厂模式是一种创建对象的设计模式,它可以让我们封装创建对象的细节,我们使用工厂方法而不是直接调用 new 关键字来创建对象,使得代码更加清晰、简洁和易于维护。在前端开发中,工厂模式通常用于创建多个相似但稍有不同的对象,比如创建一系列具有相同样式和行为的按钮或者表单。

在实现工厂模式时,通常需要创建一个工厂函数(或者叫做工厂类),该函数可以接受一些参数,并根据这些参数来创建对象。例如,我们可以创建一个ButtonFactory函数,它接受一个type参数,用于指定按钮的类型,然后根据type参数创建不同类型的按钮对象。示例代码如下:

function ButtonFactory(type) {
    switch (type) {
        case 'primary':
            return new PrimaryButton();
        case 'secondary':
            return new SecondaryButton();
        case 'link':
            return new LinkButton();
        default:
            throw new Error('Unknown button type: ' + type);
    }
}

function PrimaryButton() {
    this.type = 'primary';
    this.text = 'Click me!';
    this.onClick = function() {
        console.log('Primary button clicked!');
    };
}

function SecondaryButton() {
    this.type = 'secondary';
    this.text = 'Click me too!';
    this.onClick = function() {
        console.log('Secondary button clicked!');
    };
}

function LinkButton() {
    this.type = 'link';
    this.text = 'Click me as well!';
    this.onClick = function() {
        console.log('Link button clicked!');
    };
}            

 

在上面的示例中,ButtonFactory函数接受一个type参数,根据这个参数来创建不同类型的按钮对象。例如,如果type为'primary',则返回一个PrimaryButton对象,该对象具有type、text和onClick属性,表示一个主要按钮。其他类型的按钮也类似。

使用工厂模式可以让我们将对象创建的过程与具体的业务逻辑分离开来,从而提高代码的可重用性和可维护性。

标签:function,创建,前端,工厂,按钮,new,设计模式,type
From: https://www.cnblogs.com/ronaldo9ph/p/17182993.html

相关文章

  • JS-表单提交及前端MD5加密问题
    【目标】前端提交密码,通过MD5加密后,浏览器抓包看到的表单信息中,密码是加密后的。【问题】密码加密后输出是加密后的,但是抓包看到的表单数据是明文密码。【问题代码】1......
  • 计算机基础_设计模式
    熟练使用前端常用的设计模式编写代码如单例模式、装饰器模式、代理模式等 发布订阅模式和观察者模式的异同以及实际应用一、定性区别首先,观察者是经典软件设计模式中......
  • 设计模式
    软件设计师:23种设计模式 总图创建型设计模式1.抽象工厂方法模式#代码packagenwnu.sun.patterns.createtype.abstractfactory;/***抽象工厂设计......
  • 前端面试题(第 3 期)
    你好,欢迎大家在有空的时候做客【江涛学编程】,我是小编岩家兴,很高兴认识你!先做十题压压惊●这位选手,你有了解过ETag吗?那你讲讲304缓存原理吧?●这位选手,请你聊聊你所知......
  • 低代码平台前端的设计与实现(四)组件大纲树的构建设计
    在上篇文章,我们已经设计了一个简单的设计态的Canvas,能够显示经过BuildEngine生成的ReactNode进行渲染。本文,我们将继续上一篇文章的成果,设计并实现一个能够显示组件节点大......
  • 设计模式-javascript实现【迭代器模式】
    定义:迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之......
  • Book-深入设计模式-适配器模式
    Book-深入设计模式-适配器模式https://refactoringguru.cn/design-patterns/adapter适配器模式亦称:封装器模式、Wrapper、Adapter适配器模式是一种结构型设计模式,它......
  • Book-深入设计模式-单例模式
    Book-深入设计模式-单例模式https://refactoringguru.cn/design-patterns/singleton单例模式亦称:单件模式、Singleton单例模式是一种创建型设计模式,让你能够保证一个......
  • Book-深入设计模式-原型模式
    Book-深入设计模式-原型模式https://refactoringguru.cn/design-patterns/prototype原型模式亦称:克隆、Clone、Prototype原型模式是一种创建型设计模式,使你能够复制......
  • Book-深入设计模式-生成器模式
    Book-深入设计模式-生成器模式https://refactoringguru.cn/design-patterns/builder生成器模式亦称:建造者模式、Builder生成器模式是一种创建型设计模式,使你能够分步......