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

大话PHP设计模式

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

已采纳回答 / 醉清风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可以是多个策略,但是这样指定的话指定的是接口类型的,所有实现该接口的的策略都可以传。

已采纳回答 / zZ爱吃菜
不是呀,安装 PSR-0 设计模式,命名空间跟实际路径一样,你可以在 Factory 中通过命名空间实例化(new)不在 IMOOC 路径下的 Database 类的对象。// 假如 Database 类在 Lib 文件夹下Database 文件内容:<...code...>Factory文件内容:<...code...>这样依旧可以通过工厂模式实例不在同一目录的数据库类<...code...>

最赞回答 / Flc
工厂模式更多的是解决后期拓展(大部分是文件命名修改后)的问题。单例模式更多的是解决内存开销(new 类),同样也是为了代码美观吧上面两个更多的是操作类。原型模式也是为了减少内存开销,也减少重复的代码量(如类里面的一些初始化方法)。

最赞回答 / 慕粉3655057
嗯,一样的逻辑,模式是给解决方案,没有固定的代码

最新回答 / 慕侠0946762
适配器是为了统一调用吧,定义统一的约定规范实现方式。

已采纳回答 / 慕神1642231
\是根命名空间,不加会在当前命名空间中查找是否含有PDO类

已采纳回答 / Brouce
这个没有标准,只是市面上的框架方便管理加上的,根据个人情况看加不加,至于标准是没有这么规定的框架有会XXX.model.php  XXX.class.php 都是为了方便系统定义的一种格式

最新回答 / 王益达
看了慕友的解答:第一个 \ 是转义符,第二个 \ 是命名空间分隔符!
课程须知
要想更好的掌握本课课程的重点内容,那么熟知面向对象的相关知识是必不可少的。
老师告诉你能学到什么?
1、了解PHP的11种设计模式 2、掌握设计模式的编程实现 3、具备使用设计模式进行面向对象编程的能力

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消