PHP设计模式——无用的空对象模式
来源:互联网 发布:今日头条采集 帝国cms 编辑:程序博客网 时间:2024/05/16 19:35
WEB开发笔记 www.chhua.com 每日练习 PHP设计模式——无用的空对象模式
哎哟,今天发现一个PHP中的设计模式:空对象模式,下面说说我的想法。
真的好鸡肋,在百度和GG 上搜了很久空对象模式,均没有找到好的回答,我这种不弄个明白不罢休的破脾气,让我纠结了好久。最终发现了,主要是节省部分IF判断的语句。这种方法称之为“模式”真的有点小题大作。
下面用代码来演示一下,在编程中的应用。
1234567891011
//www.chhua.com 建立一个类class user {static function create() {return null;}}$user=user::create();$user->login();/*以上方法在运行的时候肯定就会报错, * Fatal error: Call to a member function login() on a non-object in http://www.chhua.com/test.php on line 18 */
为了避免报错,我就就需要做以下处理
123
if (is_object($user)){$user->login();}
为了不使用IF条件的判断,我们就用以下的方法,也就是传说中的空对象模式
123456789101112131415
interface nullinterface {//空对象接口public function login();} class nullUser implements nullinterface {//空对象实现public function login(){}} class user {static function create() {return new nullUser();//返回空对象}}$user=user::create();$user->login();//不再报错
以上一个简单的实例说明了空对象模式的说明实例,大家可以自己扩展,自我感觉除了增强代码的健壮性之外没什么大的用处,希望不太明白的人也不要在这上面纠结了,没有意义。
自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com
0 0
- PHP设计模式——无用的空对象模式
- 被遗忘的设计模式——空对象模式(Null Object Pattern)
- 被遗忘的设计模式——空对象模式(Null Object Pattern)
- 设计模式——空设计模式
- Java空对象设计模式
- PHP设计模式——数据访问对象模式
- PHP生成对象之设计模式—单例模式
- PHP生成对象之设计模式—工厂方法模式
- 设计模式学习笔记--空对象模式
- 设计模式---空对象模式(C++实现)
- java设计模式之空对象模式
- 设计模式【空对象模式NullObjectPattern】
- 设计模式(19)--空对象模式
- Java设计模式——空对象模式(Null Object Pattern)
- 设计模式学习—空对象模式(Null Object Design Pattern)
- 设计模式(3)空对象设计模式
- php面向对象设计模式
- PHP面向对象设计模式
- Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
- 移动端的自适应rem布局
- 登陆用户名密码验证
- 通过sap的表维护工具生成维护代码并建立自定义的TCODE
- 设计模式之:门面模式
- PHP设计模式——无用的空对象模式
- Fragment嵌套Fragment时遇到的那些坑
- 基于Xposed 拦截百度 高德地图 实现根据经纬度 改变当前位置
- 百度地图 获取经纬度为4.9E-324
- 服务器架构前的基础知识补充-持续学习
- PHP设计模式——装饰器模式
- Bootstrap3 CSS样式基本用法总结
- glib使用之哈希表
- Ubuntu安装MySQL-python