Rumah php教程 php手册 魔兽争霸之PHP设计模式

魔兽争霸之PHP设计模式

Jun 06, 2016 pm 07:42 PM
php ahli Mukadimah sistem corak reka bentuk warcraft

前言: 相信有的人接触过会员系统,有的甚至写过。本文章不是为了说明怎么建设一个会员系统。而是提出一种思路。想学怎么建会员系统的可以不看本文,而想知道怎么建得更专业点的没事可以看看。哈哈。 问题的提出: 你想使用一个统一的类来创建会员,里面有普通

 前言:相信有的人接触过会员系统,有的甚至写过。本文章不是为了说明怎么建设一个会员系统。而是提出一种思路。想学怎么建会员系统的可以不看本文,而想知道怎么建得更专业点的没事可以看看。哈哈。

问题的提出:
你想使用一个统一的类来创建会员,里面有普通会员,管理员,超级管理员……突然哪天老板说要给他加个上帝,郁闷……重新再修改类吗?哦好吧,…………终于写好了。555,使用前还要考虑是不是老板,还要判断,烦……如果你一开始就按工厂模式写的话或许就好多了。
工厂模式的作用:
可能你看到这里还有点郁闷,不知道工厂模式有什么用。来吧。那我们先玩下游戏先。可能放松一下你突然就领悟到了。
开个魔兽先,哇好多种族啊,有人族(Human),兽族(ORC),暗夜精灵族(Nighy Elf),不死族(Undead)。选了个暗夜精灵族(Nighy Elf),给电脑选了个兽族(ORC),其实我不是很会玩精灵族,不过听名字挺好听的,就选来玩一下^_^。因为小精灵(Wisp)能建造建筑,还能自爆。所以根据这个我们下面先写个小精灵(Wisp)的类。

 

电脑:555……你不给我苦工(Peon),我怎么建东西啊……这摆明欺负人……不……欺负电脑
我:呃……这个……对了,高兴过头了,忘记了,我帮你建一个……,这不是复制代码然后修改一下就行了吗,多简单~~

 

 

不死族:我也要僧侣
人族:我要农民
不死族,人族:你太不公平了!
我:(怎么办,难道又要再复制一个类……算了想想看有没有什么好办法),如果弄得多了,那每次要建造我都要记住不同的名字,多复杂啊。建造精灵是 new Wisp(),建造苦工是new Peon(),建造农民是new Peasant,建造侍僧又是new Acolyte,那不是很麻烦。怎么办呢?而且为了便于管理。我想把每个兵种的类分成一个独立文件,方便以后修改。那每次还要载入不同兵种的文件。实在太麻烦了。
电脑:你不会工厂模式吗?郁闷……
我:哦!对哦。嘻嘻(*^_^*)
观众:=_=///这么一大堆才进入主题啊
我:我这不是为了大家了解一下区别嘛……大家少安毋躁。
把刚才那段小精灵的类放在class_Wisp.php里面

 

把刚才那段苦工的类放在class_Peon.php里面

 

那么工厂呢。别急,建个class_Factory.php的文件。

 

 

至此,只要你想添加兵种,直接以class_兵种名.php做为文件名。(虽然你也可以使用__autoload自动载入类文件,但是以后会讲工厂模式更深层的应用,这可不只是为了解决__autoload也能解决的问题)然后用兵种名做为类名。然后实例化的时候只要如下:

 

 

这样就能实现对创建对象的任务进行封装。当然,这是最简单的工厂模式。还没考虑到其他因素。请看下面。
我:我狂造小精灵,哈哈,原来有漏洞,无限造精灵。
电脑:你……你……我也无限造苦工……
我:你耍赖……我不玩了……
电脑:是你先耍赖的,怪谁,哈哈……派苦工去灭了你……
我:……怎么办呢?
想知道?下回分解。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Pengenalan kepada jenis mata wang PEPU Pengenalan kepada jenis mata wang PEPU Dec 12, 2024 am 11:43 AM

PEPU Coin ialah token ERC-20 berdasarkan blockchain Ethereum, dikendalikan oleh PEPU.io dan digunakan sebagai token asli dalam aplikasi PEPUnya.

Sepuluh platform perdagangan mata wang maya di China disyorkan. Sepuluh platform perdagangan mata wang maya di China disyorkan. Feb 27, 2025 pm 05:15 PM

Binance, OKX dan Gate.io menduduki ranking tiga teratas. Platform ini mempunyai kelebihan sendiri dalam yuran transaksi, keselamatan, kecairan transaksi, produk dan perkhidmatan, dan sokongan pelanggan.

Matrixport melancarkan akaun dolar khusus agensi untuk mengoptimumkan pengalaman perdagangan OTC Matrixport melancarkan akaun dolar khusus agensi untuk mengoptimumkan pengalaman perdagangan OTC Mar 04, 2025 pm 09:42 PM

SINGAPURA, 25 Februari, 2025 - Matrixport, platform Perkhidmatan Kewangan Crypto terkemuka di dunia, mempunyai kedudukan utama di Asia, hari ini mengumumkan pelancaran perkhidmatan akaun dolar AS yang direka untuk pelanggan institusi. Langkah ini direka untuk memudahkan dan meningkatkan pengalaman perdagangan over-the-counter (OTC) pelanggan institusi dan meningkatkan kecekapan dan keselamatan pengurusan dana. Akaun dolar institusi yang baru dilancarkan membolehkan pelanggan menggunakan akaun yang selaras dengan nama syarikat untuk memudahkan deposit dan pengeluaran Fiat dan StableCoins. Langkah ini meningkatkan ketelusan dan privasi urus niaga dan berkesan mengurangkan risiko dan kelewatan yang disebabkan oleh pemindahan pihak ketiga. Perkhidmatan ini direka untuk mengoptimumkan proses urus niaga OTC pelanggan institusi untuk memenuhi keperluan mereka untuk penyelesaian yang cekap dan mesra pengguna. Matrixp

See all articles