`

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设计模式.pdf

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

    JAVASCRIPT设计模式[收集].pdf

    常见的JavaScript设计模式包括单例模式、工厂模式、观察者模式、发布-订阅模式等。每种模式都有其适用场景和特点,掌握它们可以让开发者在面对不同的编程问题时,更加高效地应对。 单例模式保证一个类只有一个实例...

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

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

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

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

    JavaScript模式中文[pdf] 百度云

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

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

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

    JavaScript模式(中文版带目录)

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

    JavaScript面向对象实现简单工厂模式

    JavaScript面向对象实现简单工厂模式是一种常见的设计模式,它在软件工程中被广泛应用于创建对象的场景。简单工厂模式的核心思想是将对象的创建过程抽象出来,由一个专门的工厂类负责,使得客户端代码无需关心具体...

    总结JavaScript设计模式编程中的享元模式使用

    享元模式是软件工程中一种用于优化性能的设计模式,它通过共享相似对象的实例来减少内存使用或者计算的开销。在JavaScript编程中,尤其是处理DOM操作和大量相似对象时,享元模式的使用尤为关键。 享元模式的主要...

    Javascript 设计模式系统讲解与应用

    在深入探讨《JavaScript设计模式系统讲解与应用》的内容之前,我们先来了解一下设计模式的基本概念以及为什么它对于前端开发人员尤为重要。设计模式是一套被反复使用的、经过分类编目的、包含结构化的解决方案,用于...

    javascript设计模式之工厂模式示例讲解.docx

    ### JavaScript设计模式之工厂模式详解 #### 一、引言 在软件工程中,设计模式是一种通用可重用的解决方案,用于解决常见的编程问题。在JavaScript中,工厂模式是一种常用的创建型设计模式,用于创建对象的接口,...

    JavaScript中的工厂模式:构建灵活的对象创建机制

    通过本文的介绍,你应该能够理解工厂模式的基本概念,掌握在JavaScript中实现工厂模式的方法,并能够在实际项目中应用这一模式来构建灵活的对象创建机制。 通过本文的介绍,你应该能够理解工厂模式的重要性,掌握在...

    JavaScript模式

    通过以上详细介绍,我们可以看到《JavaScript模式》这本书为读者提供了丰富且实用的设计模式知识,这些模式不仅可以帮助开发者编写更加高效、可维护的代码,还能促进其在软件工程领域内的成长和发展。无论是对于初学...

    Javascript 设计模式之构造函数模式.zip

    JavaScript设计模式是编程实践中一种优秀的代码组织方式,它总结了在特定场景下解决常见问题的最佳实践。...在实际开发中,构造函数模式常常与其他设计模式(如工厂模式、单例模式等)结合使用,以应对更复杂的场景。

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

    在JavaScript中,由于其语言特性,我们不能像Java或C++那样使用类来创建对象,而是采用了一些替代的模式,其中工厂模式和构造函数模式是非常常见的两种方式。 **一、工厂模式** 工厂模式的主要思想是通过一个函数...

    JavaScript设计模式与开发实践_himppf_js_jspremise_精通javascript_Js设计模式_

    JavaScript设计模式与开发实践是深入理解并提升JavaScript编程能力的关键领域。设计模式是对在软件设计中经常出现的问题的解决方案的描述,它代表了最佳实践,是经验丰富的开发者们经过时间检验后总结出来的解决常见...

    JavaScript高级与设计模式.zip

    2. **工厂模式(Factory)**:用于创建对象,隐藏了对象创建的细节,提供一个统一的接口。可以用来解决JavaScript中没有类的局限。 3. **观察者模式(Observer)**:定义了对象之间的一对多依赖关系,当一个对象的...

Global site tag (gtag.js) - Google Analytics