0

0

魔兽争霸之PHP设计模式

php中文网

php中文网

发布时间:2016-06-06 19:42:01

|

1362人浏览过

|

来源于php中文网

原创

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

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

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

 

立即学习PHP免费学习笔记(深入)”;

松果AI写作
松果AI写作

专业全能的高效AI写作工具

下载

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

 

立即学习PHP免费学习笔记(深入)”;

 

立即学习PHP免费学习笔记(深入)”;

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

 

立即学习PHP免费学习笔记(深入)”;

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

 

立即学习PHP免费学习笔记(深入)”;

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

 

立即学习PHP免费学习笔记(深入)”;

 

立即学习PHP免费学习笔记(深入)”;

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

 

立即学习PHP免费学习笔记(深入)”;

 

立即学习PHP免费学习笔记(深入)”;

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

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

2

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

5

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

1

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

7

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

5

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.6万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号