Heim Web-Frontend js-Tutorial javascript 模式设计之工厂模式详细说明_javascript技巧

javascript 模式设计之工厂模式详细说明_javascript技巧

May 16, 2016 pm 06:27 PM
工厂模式

模式类型:工厂模式
模式说明:常用模式之一,用来动态创建对象
适用范围:在运行期间需要在一系列可互换的子类中进行选择的类
注意事项:接口的实现,从而使不同子类可以被同等的对待,恰当的使用工厂模式,但不要拘泥与形式,理解本质。
关键点:以 函数/类/子类 构建的选择器
本质:函数作为选择器的使用
一般使用形式:
作为独立的选择器存在:

复制代码 代码如下:

function FactoryMode(index){
switch(index){
case "index1" :
return new Class1();break;
case "index2":
return new Class2();break;
case "index3":
return new Class3();break;
default:return new ClassComm();break;
}
}

或作为类的一个方法存在:
复制代码 代码如下:

var MainClass=function(){};//主类构造器
MainClass.prototype={
FactoryMode:function(){}//子类选择器
}

又或隐式选择,即不以使用者的主观选择而选择:

复制代码 代码如下:

var xmlRequest=function(){
if(this.isOffOnline()){
xhr= new OfflineHandler();
}//如果此时网络不可用,创建可缓存AJAX对象
else if(this.isHightLatency()){
xhr= new QueuedHandler();
}//如果网络延迟较大,创建队列形式AJAX对象
else {
xhr=new SimpleHandler();
}//如果网络正常,创建简单AJAX对象
interface.ensureImplements(xhr,AjaxHandler);
//检查对象是否实现了接口,从而确保以后的工作可以顺利进行
return xhr;
}

延伸:

工厂模式的本质就是选择器的应用,选择器不仅可作为对象的选择,还可作为函数的选择,类的选择,参数的选择
函数的选择,如:
复制代码 代码如下:

var addEvent=(function(){
if(!-[0,]){
return function(elem,type,handler){
elem[type+handler.toString()]=handler;
elem.attachEvent("on"+type,elem[type+handler.toString]);
}}//if IE
else {
return function(elem,type,handler){
elem.addEventListener(type,handler,false);
}
}
})();//避免多次判断

类的选择:

复制代码 代码如下:

var suitableClass=function(){
if(match condition A) return Class1;
else if(match condition B) return Class2;
else return ClassComm;
}

参数的选择:

复制代码 代码如下:

function Country(country){
if(country=="China")
this.config={};//设置基本参数1
else if(contry=="America")
this.config={};//设置参数2
else if()
.......//等等
}
Country.prototype={};
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die Vorteile des Java-Factory-Musters? Was sind die Vorteile des Java-Factory-Musters? Dec 25, 2023 pm 05:40 PM

Die Vorteile des Java-Factory-Musters: 1. Reduzieren Sie die Wiederverwendbarkeit des Codes. 3. Vereinfachen Sie den Objekterstellungsprozess. 6. Sorgen Sie für eine bessere Leistung. Verbesserung der Testbarkeit; 8. Unterstützung der Internationalisierung; 9. Förderung des offenen und geschlossenen Prinzips; 10. Bereitstellung einer besseren Skalierbarkeit. Detaillierte Einführung: 1. Reduzieren Sie die Kopplung des Systems, indem Sie den Objekterstellungsprozess in einer Factory-Klasse zentralisieren. 2. Verbessern Sie die Wiederverwendbarkeit von Code usw.

Was sind die Anwendungsszenarien von Factory-Mustern im Java-Framework? Was sind die Anwendungsszenarien von Factory-Mustern im Java-Framework? Jun 01, 2024 pm 04:06 PM

Das Factory-Muster wird verwendet, um den Erstellungsprozess von Objekten zu entkoppeln und sie in Factory-Klassen zu kapseln, um sie von konkreten Klassen zu entkoppeln. Im Java-Framework wird das Factory-Muster verwendet, um: komplexe Objekte zu erstellen (z. B. Beans in Spring) Objektisolation bereitzustellen, Testbarkeit und Wartbarkeit zu verbessern. Erweiterungen zu unterstützen und die Unterstützung für neue Objekttypen durch Hinzufügen neuer Factory-Klassen zu erhöhen

So wenden Sie ein Factory-Muster in Golang an So wenden Sie ein Factory-Muster in Golang an Apr 04, 2024 am 11:33 AM

Factory-Muster In Go ermöglicht das Factory-Muster die Erstellung von Objekten ohne Angabe einer konkreten Klasse: Definieren Sie eine Schnittstelle (z. B. Shape), die das Objekt darstellt. Erstellen Sie konkrete Typen (z. B. Kreis und Rechteck), die diese Schnittstelle implementieren. Erstellen Sie eine Factory-Klasse, um Objekte eines bestimmten Typs zu erstellen (z. B. ShapeFactory). Verwenden Sie Factory-Klassen, um Objekte im Client-Code zu erstellen. Dieses Entwurfsmuster erhöht die Flexibilität des Codes ohne direkte Kopplung an konkrete Typen.

Eine eingehende Analyse des Java-Fabrikmusters: Unterscheidung und Anwendung der Unterschiede zwischen einfachen Fabriken, Fabrikmethoden und abstrakten Fabriken Eine eingehende Analyse des Java-Fabrikmusters: Unterscheidung und Anwendung der Unterschiede zwischen einfachen Fabriken, Fabrikmethoden und abstrakten Fabriken Dec 28, 2023 pm 03:09 PM

Ausführliche Erläuterung des Java Factory-Musters: Verstehen Sie die Unterschiede und Anwendungsszenarien einfacher Fabriken, Fabrikmethoden und abstrakter Fabriken. Einführung Wenn wir im Softwareentwicklungsprozess mit komplexen Objekterstellungs- und Initialisierungsprozessen konfrontiert werden, müssen wir häufig das Fabrikmuster verwenden, um dieses Problem zu lösen Problem. Als häufig verwendete objektorientierte Programmiersprache bietet Java eine Vielzahl von Factory-Pattern-Implementierungen. In diesem Artikel werden die drei gängigen Implementierungsmethoden des Java-Factory-Musters ausführlich vorgestellt: einfache Factory, Factory-Methode und abstrakte Factory, und eine eingehende Analyse ihrer Unterschiede und Anwendungsszenarien durchgeführt. eins,

Die Anwendung des Singleton-Modus und des Factory-Modus beim Überladen und Umschreiben von C++-Funktionen Die Anwendung des Singleton-Modus und des Factory-Modus beim Überladen und Umschreiben von C++-Funktionen Apr 19, 2024 pm 05:06 PM

Singleton-Muster: Stellen Sie Singleton-Instanzen durch Funktionsüberladung unterschiedliche Parameter zur Verfügung. Fabrikmuster: Erstellen Sie verschiedene Objekttypen durch Umschreiben von Funktionen, um den Erstellungsprozess von bestimmten Produktklassen zu entkoppeln.

PHP-Entwurfsmuster: Der Weg zur Code-Exzellenz PHP-Entwurfsmuster: Der Weg zur Code-Exzellenz Feb 21, 2024 pm 05:30 PM

Einführung PHP-Entwurfsmuster sind eine Reihe bewährter Lösungen für häufige Herausforderungen in der Softwareentwicklung. Durch Befolgen dieser Muster können Entwickler eleganten, robusten und wartbaren Code erstellen. Sie unterstützen Entwickler bei der Einhaltung der SOLID-Prinzipien (Single Responsibility, Open-Closed, Liskov Replacement, Interface Isolation und Dependency Inversion) und verbessern so die Lesbarkeit, Wartbarkeit und Skalierbarkeit des Codes. Arten von Designmustern Es gibt viele verschiedene Designmuster, jedes mit seinem eigenen einzigartigen Zweck und seinen eigenen Vorteilen. Hier sind einige der am häufigsten verwendeten PHP-Entwurfsmuster: Singleton-Muster: Stellt sicher, dass eine Klasse nur eine Instanz hat und bietet eine Möglichkeit, global auf diese Instanz zuzugreifen. Factory-Muster: Erstellt ein Objekt, ohne seine genaue Klasse anzugeben. Es ermöglicht Entwicklern dies unter bestimmten Bedingungen

Verstehen Sie das Factory-Muster in der objektorientierten PHP-Programmierung Verstehen Sie das Factory-Muster in der objektorientierten PHP-Programmierung Aug 10, 2023 am 10:37 AM

Das Factory-Muster in der objektorientierten PHP-Programmierung verstehen Das Factory-Muster ist ein häufig verwendetes Entwurfsmuster, das verwendet wird, um die Erstellung und Verwendung von Objekten während des Erstellungsprozesses von Objekten zu entkoppeln. Bei der objektorientierten PHP-Programmierung kann uns das Factory-Muster dabei helfen, die Erstellung und den Lebenszyklus von Objekten besser zu verwalten. In diesem Artikel wird das Factory-Muster in PHP anhand von Codebeispielen ausführlich vorgestellt. In PHP können wir den Objekterstellungs- und Initialisierungsprozess implementieren, indem wir das Factory-Muster verwenden, anstatt direkt das neue Schlüsselwort zu verwenden. Dies hat den Vorteil, dass in Zukunft Änderungen vorgenommen werden müssen

Detaillierte Erläuterung des Java-Factory-Musters: einfache Factory, Factory-Methode und abstrakte Factory Detaillierte Erläuterung des Java-Factory-Musters: einfache Factory, Factory-Methode und abstrakte Factory Dec 28, 2023 am 10:23 AM

Ausführliche Erläuterung des Java-Factory-Musters: einfache Factory, Factory-Methode und abstrakte Factory. Das Factory-Muster ist ein häufig verwendetes Entwurfsmuster. Es wird verwendet, um Objekte entsprechend unterschiedlichen Anforderungen dynamisch zu erstellen, die Erstellung und Verwendung von Objekten zu trennen und die Wiederverwendbarkeit zu verbessern Verwendung von Code. In Java gibt es drei Hauptformen von Fabrikmustern: einfache Fabrik, Fabrikmethode und abstrakte Fabrik. 1. Einfaches Fabrikmodell Das einfache Fabrikmodell ist das grundlegendste Fabrikmodell und die einfachste Form. Es erstellt Objekte über eine Factory-Klasse und bestimmt anhand verschiedener Parameter, welches Objekt erstellt werden soll.

See all articles