`

javaScript工厂模式

    博客分类:
  • js
 
阅读更多

工厂模式定义一个用于创建对象的接口,

var PaperFloderCreatorFactory = function (user, paths, pathModel) {

};

 

将要创建不同的类可以看作模具,用以创建不同的实例类。

PaperFloderCreatorFactory.Creators = {
    'spec_html': paperHtmlCreator,
    'lib': paperLibCreator,
    'practices': paperPracticesCreator,
    'specs': paperPracticesCreator
};

 

工厂要根据客户的需求生产不同的实例类

PaperFloderCreatorFactory.create_file_creator = function (file, user, paths, pathModel) {
    var Model = PaperFloderCreatorFactory._forCreator(file);

    return new Model(user, paths, pathModel, file);
};

 

要生产的类模块,而这些实例经常都拥有相同的接口.

function PaperHtmlCreator(user, paths, pathModel, type){
    this.user       = user;
    this.paths      = paths;
    this.pathModel  = pathModel;
    this.type       = type;
}

PaperHtmlCreator.prototype.create_floder = function(){
    var self = this;
    return new Promise(function(resolve){
        if(! self.paths) resolve();
        FileOperate.copy_file_and_rename(self.paths,self.pathModel.get_paper_course_path(self.user,'practices'));
        resolve();
    })
};
function PaperLibCreator(user, paths, pathModel,type){
    this.user       = user;
    this.paths      = paths;
    this.pathModel  = pathModel;
    this.type       = type;
}

PaperLibCreator.prototype.create_floder = function () {
    var self = this;
    return new Promise(function (resolve) {
        if(! self.paths) resolve();
        FileOperate.copy_dir(self.paths, self.pathModel.get_paper_course_path(self.user, 'lib'), function () {
            resolve()
        })
    })
};

 

使用生产的实例类

floder_creator = PaperFloderCreatorFactory.create_file_creator(key, user, paths, pathModel);

 

工厂模式适用的模式

  1. 对象的构建十分复杂
  2. 需要根据不同的要创建不同的实例或者大量属性相同的属性的小对象

工厂有利于代码结构的清晰,也可以是模块职责的单一化。

 

分享到:
评论

相关推荐

    javascript工厂模式和构造函数模式创建对象方法解析.docx

    ### JavaScript工厂模式与构造函数模式创建对象方法解析 #### 一、工厂模式 在JavaScript中,工厂模式是一种常用的设计模式,用于封装创建对象的过程。它通过一个函数来创建具有相似特性的多个对象实例,这些对象...

    JavaScript设计模式+JavaScript模式+JavaScript异步编程

    设计模式是软件工程中经过实践验证的、解决常见问题的有效方法。在JavaScript中,常见的设计模式包括: - 单例模式:确保一个类只有一个实例,并提供全局访问点。 - 工厂模式:创建对象时避免使用new操作符,提供...

    JavaScript 设计模式(高清扫描版本)- 张容铭

    设计模式是软件工程中的最佳实践,它们是针对常见问题的解决方案,经过时间和实践的考验,被广泛认可并重复使用。在JavaScript中,设计模式同样具有重要意义,因为JavaScript是一门动态、灵活的语言,但这也可能导致...

    JavaScript设计模式.pdf

    JavaScript设计模式.pdf JavaScript设计模式是指在软件开发中使用JavaScript语言编写的设计模式。这些设计模式旨在提高代码的重用性、可读性、维护性和扩展性。以下是JavaScript设计模式的知识点总结: 1. 单体...

    Javascript 设计模式 电子书

    设计模式是软件工程领域中经过时间验证的一套最佳实践和解决方案,它们针对特定问题提供了模板化设计方案。在编写代码时采用这些设计模式,可以增加代码的可重用性、可维护性,降低系统复杂度,并提高系统的稳定性和...

    JavaScript 设计模式 azw3

    《JavaScript设计模式》是JavaScript设计模式的学习指南。全书分为14章。首先介绍了什么是模式、模式的结构、类别、模式的分类、如何编写模式等等;然后,集中介绍了很多流行的设计模式在JavaScript中的应用,包括...

    学用JavaScript设计模式

    设计模式是软件工程领域中一种重要的理论知识,它是一套被反复使用、多数人知晓、分类编目、代码设计经验的总结。设计模式可以让代码具有可复用性、可维护性和可扩展性,是高质量软件开发的基础。在JavaScript编程中...

    JavaScript设计模式Demo

    这个"JavaScript设计模式Demo"可能包含了各种常见的设计模式示例,如单例模式、工厂模式、观察者模式等,这些都是提高代码质量和团队协作的关键因素。 1. **单例模式**:确保一个类只有一个实例,并提供全局访问点...

    Javascript设计模式源码

    作者针对常见的开发任务,从YUI等实战代码中取材,提供了专家级的解决方案,不仅透彻剖析了JavaScript扣的面向对象编程,而且深入探讨了如何用JavaScript实现以前只在服务器端应用的设计模式,如何根据实际场景选择...

    精通javascript设计模式en版pdf

    在JavaScript中,工厂模式常用于封装复杂对象的创建逻辑,降低代码耦合度。 **构造函数模式**是JavaScript中的核心概念,它允许我们创建具有特定属性和方法的对象。然而,简单的构造函数不能实现继承,因此书中详细...

    外文翻译:学用JavaScript设计模式

    设计模式作为软件工程中的一个重要组成部分,其核心在于提供了一套标准的方法论,帮助开发人员以优雅、高效的方式解决常见的软件设计问题。《学用JavaScript设计模式》一书通过对外文资料的细致翻译,为中国乃至全球...

    Javascript 设计模式 很经典 第一本

    ### JavaScript设计模式经典知识点概述 #### 一、书籍简介与背景 《Pro JavaScript Design Patterns》是一本关于JavaScript设计模式的经典著作,由Ross Harmes和Dustin Diaz共同编写,并于2008年出版。该书深入浅出...

    javascript 设计模式

    JavaScript设计模式是编程实践中一种重要的思想,它通过总结和提炼出一套可复用的解决方案,帮助开发者解决在软件开发过程中遇到的常见问题。设计模式并不是特定的语言特性,而是跨越多种编程语言的一般性原则和最佳...

    javascript设计模式之工厂模式.docx

    工厂模式在 JavaScript 中的应用 工厂模式是一种常用的设计模式,它提供了一种创建对象的方式,而不需要指定具体的类别。工厂模式的主要优点是它可以将对象的创建过程与具体的类别分离,从而提高了代码的灵活性和可...

    javascript 面向对象编程.pdf javascript 设计模式与开发实践.pdf

    在JavaScript中,常见的设计模式包括工厂模式、单例模式、观察者模式、装饰器模式、代理模式等。例如,工厂模式可以用来创建对象,避免直接使用new操作符,提高代码的可扩展性;单例模式确保一个类只有一个实例,常...

    JavaScript模式中文[pdf] 百度云

     工厂模式  迭代器模式  装饰者模式  策略模式  外观模式  代理模式  中介者模式  观察者模式  小结  第8章 DOM和浏览器模式  关注分离  DOM脚本  事件  长期运行脚本  远程脚本  配置JavaScript  ...

    Javascript 设计模式系统讲解与应用视频资源地址.7z

    JavaScript设计模式是编程实践中的一种重要思想,它提供了一套经过时间考验的最佳实践,用来解决常见的编程问题和提高代码的可维护性、可扩展性和可复用性。在JavaScript这种动态类型的脚本语言中,设计模式尤其重要...

    JavaScript模式(中文版带目录)

    代码复用是软件工程的关键原则,这部分可能会讲解如何在JavaScript中实现代码复用,如函数组合、装饰器模式、代理模式等。这些模式可以有效地减少代码重复,提高代码的可维护性和可读性。 七、设计模式 书中可能会...

    JavaScript设计模式中的单例模式和观察者模式.docx

    ### JavaScript设计模式详解:单例模式与观察者模式 #### 一、单例模式 **定义**:单例模式是一种常用的软件设计模式,其目的是确保某个类只有一个实例,并且能够提供一个全局访问点来访问该实例。在JavaScript中...

Global site tag (gtag.js) - Google Analytics