为了账号安全,请及时绑定邮箱和手机立即绑定

大话PHP设计模式

Rango PHP开发工程师
难度中级
时长 3小时30分
学习人数
综合评分9.57
139人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.6 逻辑清晰

已采纳回答 / Heise
不对 str_replace函数是替换作用  比如  $db = Core\Factory::createdb();   自动加载方法里面的 str_replace("\\",'/',$class) 把" \ "替换成" / "   因为 " \ " 需要转义 所以需要 " \\ "两个杠杠

最赞回答 / 时间在做减法
我们假想命名空间是班级名称,类名是学生姓名,那么,你在走廊喊一声张三,会有几个人回应你,假如有两个班都有张三,那么namespace就相当于说给张三限定他班级名称,而use就是你喊张三时,指明喊得哪个张三,这句话的意思就是,PDO这个类是COMMON\Database这个班级的。我们会用到COMMON班的IDatabase同学来帮忙。

已采纳回答 / 紫蝶爵
单一职责:一个类只需要做好一件事情。开放封闭:一个类,应该是可扩展的,而不可修改的。依赖倒置:一个类,不应该强依赖另外一个类。每个类对于另外一个类都是可替换的。配置化:尽可能地使用配置,而不是硬编码。面向接口编程:只需要关心接口,不需要关心实现。

最新回答 / 丶C1zel
它说的意思是:你的静态方法里面,不能有动态的属性。把$db设置成静态就可以了

已采纳回答 / geloves
遍历是因为可能会有多个装饰器啊,反转是因为before和after都存在的情况下需要一一对应

已采纳回答 / Superman007
<...code...>user中这样写,应该可以取出来

最新回答 / 丶C1zel
可以直接用的,虽然还没保存到数据库,但是属性值是改变了的。只需将最后一次的执行,减少数据库操作的次数。而且老师实现了注册器,用来共享这个对象。可能并行处理的时候,会出问题

已采纳回答 / lunzeming
工厂模式,单例模式,注册器模式

已采纳回答 / 醉清风tomorrow
http://zhidao.baidu.com/link?url=DVs8U8fIgCDrQR2Z3n9q8rZvkLDsEjYmC7kRcATEEGlTdfNhNDuZ1mU3jRtEDsDwt15z4uBgbex2FU_HMPnafV7foUG8Zak5zcEsb54_5fK

已采纳回答 / zZ爱吃菜
首先我觉得你要清晰几个概念:紧耦合:首先在 page 类中与 UserStrategy 的实例,以及策略的具体实现来达到策略的具体实现,这样是不是 page 与 UserStrategy 紧密相关,也就是说 如果 UserStrategy 的实现修改了,例如:去掉了 showAd() 方法。page 自然需要做相应修改,这就叫做 紧耦合(依赖性太强)。依赖倒置和控制翻转:page 类里不需要 UserStrategy 的具体实现,只需要知道 page 场景下需要 UserStrategy 的策略,具体策略...

已采纳回答 / 追逐梦想30
这个是对类型的指定,强类型语言都是这种写法,就是指定当前函数接收的对象类型是什么,而对于php来说的话可以直接传递对象,不需要指定类型也可以。

最新回答 / 追逐梦想30
对,你说的没错,$strategy可以是多个策略,但是这样指定的话指定的是接口类型的,所有实现该接口的的策略都可以传。
课程须知
要想更好的掌握本课课程的重点内容,那么熟知面向对象的相关知识是必不可少的。
老师告诉你能学到什么?
1、了解PHP的11种设计模式 2、掌握设计模式的编程实现 3、具备使用设计模式进行面向对象编程的能力

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消