javascript设计模式之工厂模式示例讲解_基础知识
javaScript工厂方式原始的方式
因为对象的属性可以在对象创建后动态定义,这在 JavaScript 最初引入时都会编写类似下面的代码
var oCar = new Object;
oCar.color = "blue";
oCar.doors = 4;
oCar.mpg = 25;
oCar.showColor = function() {
alert(this.color);
};
在上面的代码中,创建对象 car。然后给它设置几个属性:它的颜色是蓝色,有四个门,每加仑油可以跑 25 英里。最后一个属性实际上是指向函数的指针,意味着该属性是个方法。执行这段代码后,就可以使用对象 car。不过这里有一个问题,就是可能需要创建多个 car 的实例,这显然不是很好的方式。
解决方案:工厂方法
要解决该问题,开发者创造了能创建并返回特定类型的对象的工厂函数。例如,函数 createCar() 可用于封装前面列出的创建 car 对象的操作:
function createCar(sColor,iDoors,iMpg) {
var oTempCar = new Object;
oTempCar.color = sColor;
oTempCar.doors = iDoors;
oTempCar.mpg = iMpg;
oTempCar.showColor = function() {
alert(this.color);
};
return oTempCar;
}
var oCar1 = createCar("red",4,23);
var oCar2 = createCar("blue",3,25);
oCar1.showColor(); //输出 "red"
oCar2.showColor(); //输出 "blue"
调用此工厂函数,将创建新对象,并赋予它所有必要的属性,给 createCar() 函数加上参数,即可为要创建的 car 对象的 color、doors 和 mpg 属性赋值。这使两个对象具有相同的属性,却有不同的属性值。该方法有个不好的地方在于每创建一个car对象(即调用一次createCar函数)都会重复的为每个对象创建showColor 方法,而这时没有必要的而事实上,每个对象都共享同一个函数。于是我们尝试在函数之外去声明其方法属性。
在工厂函数外定义对象的方法
有些开发者在工厂函数外定义对象的方法,然后通过属性指向该方法,从而避免这个问题:
function showColor() {
alert(this.color);
}
function createCar(sColor,iDoors,iMpg) {
var oTempCar = new Object;
oTempCar.color = sColor;
oTempCar.doors = iDoors;
oTempCar.mpg = iMpg;
oTempCar.showColor = showColor;
return oTempCar;
}
var oCar1 = createCar("red",4,23);
var oCar2 = createCar("blue",3,25);
oCar1.showColor(); //输出 "red"
oCar2.showColor(); //输出 "blue"
在上面这段重写的代码中,在函数 createCar() 之前定义了函数 showColor()。在 createCar() 内部,赋予对象一个指向已经存在的 showColor() 函数的指针。从功能上讲,这样解决了重复创建函数对象的问题;但是从语义上讲,该函数不太像是对象的方法。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Corak kilang digunakan untuk memisahkan proses penciptaan objek dan merangkumnya dalam kelas kilang untuk memisahkannya daripada kelas konkrit. Dalam rangka kerja Java, corak kilang digunakan untuk: mencipta objek kompleks (seperti kacang dalam Spring), menyediakan pengasingan objek, meningkatkan kebolehujian dan kebolehselenggaraan, menyokong sambungan dan meningkatkan sokongan untuk jenis objek baharu dengan menambah kelas kilang baharu.

Faedah corak kilang Java: 1. Mengurangkan gandingan sistem; 3. Sembunyikan proses penciptaan objek; Meningkatkan kebolehujian; 8. Menyokong pengantarabangsaan 9. Menggalakkan prinsip terbuka dan tertutup 10. Menyediakan skala yang lebih baik. Pengenalan terperinci: 1. Kurangkan gandingan sistem Corak kilang mengurangkan gandingan sistem dengan memusatkan proses penciptaan objek ke dalam kelas kilang;

Factory Pattern In Go, corak kilang membenarkan penciptaan objek tanpa menyatakan kelas konkrit: tentukan antara muka (seperti Shape) yang mewakili objek. Buat jenis konkrit (seperti Bulatan dan Segi Empat) yang melaksanakan antara muka ini. Cipta kelas kilang untuk mencipta objek daripada jenis tertentu (seperti ShapeFactory). Gunakan kelas kilang untuk mencipta objek dalam kod klien. Corak reka bentuk ini meningkatkan fleksibiliti kod tanpa gandingan terus kepada jenis konkrit.

Penjelasan terperinci tentang Corak Kilang Java: Fahami perbezaan dan senario aplikasi kilang mudah, kaedah kilang dan kilang abstrak Pengenalan Dalam proses pembangunan perisian, berhadapan dengan proses penciptaan dan permulaan objek yang kompleks, kita sering perlu menggunakan corak kilang untuk menyelesaikan masalah ini. . Sebagai bahasa pengaturcaraan berorientasikan objek yang biasa digunakan, Java menyediakan pelbagai pelaksanaan corak kilang. Artikel ini akan memperkenalkan secara terperinci tiga kaedah pelaksanaan biasa bagi corak kilang Java: kilang mudah, kaedah kilang dan kilang abstrak, dan menjalankan analisis mendalam tentang perbezaan dan senario aplikasinya. satu,

Corak Singleton: Sediakan contoh tunggal dengan parameter berbeza melalui lebihan fungsi. Corak kilang: Cipta pelbagai jenis objek melalui penulisan semula fungsi untuk memisahkan proses penciptaan daripada kelas produk tertentu.

Penjelasan terperinci tentang corak kilang Java: kilang ringkas, kaedah kilang dan kilang abstrak Corak kilang ialah corak reka bentuk yang biasa digunakan Ia digunakan untuk mencipta objek secara dinamik mengikut keperluan yang berbeza, memisahkan penciptaan dan penggunaan objek, dan meningkatkan kebolehgunaan semula dan. penggunaan kod. Di Jawa, terdapat tiga bentuk utama corak kilang: kilang mudah, kaedah kilang dan kilang abstrak. 1. Model kilang ringkas Model kilang ringkas ialah model kilang yang paling asas dan bentuk paling ringkas. Ia mencipta objek melalui kelas kilang dan menentukan objek yang hendak dibuat berdasarkan parameter yang berbeza.

Memahami Corak Kilang dalam Pengaturcaraan Berorientasikan Objek PHP Corak kilang ialah corak reka bentuk yang biasa digunakan yang digunakan untuk memisahkan penciptaan dan penggunaan objek dalam proses mencipta objek. Dalam pengaturcaraan berorientasikan objek PHP, corak kilang boleh membantu kami mengurus penciptaan dan kitaran hayat objek dengan lebih baik. Artikel ini akan memperkenalkan corak kilang dalam PHP secara terperinci melalui contoh kod. Dalam PHP, kita boleh melaksanakan proses penciptaan dan permulaan objek dengan menggunakan corak kilang dan bukannya terus menggunakan kata kunci baharu. Kelebihan ini ialah jika perubahan perlu dibuat pada masa hadapan

Pengenalan Corak reka bentuk PHP ialah satu set penyelesaian yang terbukti kepada cabaran biasa dalam pembangunan perisian. Dengan mengikut corak ini, pembangun boleh mencipta kod yang elegan, teguh dan boleh diselenggara. Mereka membantu pembangun mengikuti prinsip SOLID (tanggungjawab tunggal, tertutup terbuka, penggantian Liskov, pengasingan antara muka dan penyongsangan kebergantungan), dengan itu meningkatkan kebolehbacaan kod, kebolehselenggaraan dan kebolehskalaan. Jenis Corak Reka Bentuk Terdapat banyak corak reka bentuk yang berbeza, masing-masing mempunyai tujuan dan kelebihan tersendiri. Berikut ialah beberapa corak reka bentuk PHP yang paling biasa digunakan: Corak Singleton: Memastikan kelas hanya mempunyai satu tika dan menyediakan cara untuk mengakses tika ini secara global. Corak Kilang: Mencipta objek tanpa menyatakan kelas tepatnya. Ia membolehkan pemaju bersyarat
