-
0001查看全部
-
PDO是通用的数据库链接查看全部
-
适配器将统一的函数以接口方式实现查看全部
-
工厂模式:不需要new 对象 单例模式:仅允许实例化一次 注册模式:全局共享和交换变量查看全部
-
单一职责, 开放,封闭,依赖倒置,配置化, 面向接口编程.查看全部
-
关于装饰和观察的区别,顾名思义,观察不影响输出的结果,装饰的目的就是为了影响结果。 相同点,都是事件驱动,事件驱动又用到了适配器(面向对象的主要特征之一:多态)查看全部
-
使用场景:当某一功能或方法draw,要满足不同的功能需求时,可以使用装饰器模式;实现方式:在方法的类中建addDecorator(添加装饰器),beforeDraw,afterDraw 3个新方法, 后2个分别放置在要修改的方法draw首尾.然后创建不同的装器类(其中要包含相同的,beforeDraw,afterDraw方法)能过addDecorator添加进去,然后在beforeDraw,afterDraw中循环处理,与观察者模式使用有点相似查看全部
-
tatic function getUser($id){ $objUserKey='user_'.$id; $user=Register::get($objUserKey); if(!$user){ $user=new User($id); Register::set($objUserKey,$user); } return $user; } class Page{ function index(){ $this->setName(); $this->setMobile(); } function setName(){ $user=\Imooc\Factory::getUser(1); $user->name='Mary'; $user->save(); } function setMobile(){ $user=\Imooc\Factory::getUser(1); $user->mobile='13600000000'; $user->save(); } } $page=new Page(); $page->index();查看全部
-
不是只将if else移动到外面,这是一种思想,处理某一个策略使用一个类来处理,而不是将一堆逻辑写到一个action中 你也可以这样 $sex = $_GET['sex']; $page = new Page(); $classstr = '\\com\\strategy\\'.$sex.'Strategy'; $page->setStrategy(new $classstr()); $page->index(); 小技巧就没有if else了 但是跟老师讲的是一个意思查看全部
-
1.命名空间必须与绝对路径一致 2.类名首字母必须大写 3.除入口文件外,其它“。PHP”必须只有一个类。查看全部
-
如果实现Arrayacess接口,则能使一个对象属性的访问可以以数组的方式进行。配置文件类常实现该接口查看全部
-
迭代器模式可以隐藏遍历元素的所需的操作 在不需要了解内部实现的前提下 遍历一个聚合对象的内部元素 传统方式批量处理数据要全部读出来数据,而迭代器模式一次读取一条记录,资源占用最小化查看全部
-
mark一下: 有浅复制和深复制 PHP有串行化(serialize)和反串行化(unserialize)函数,java中貌似叫冷藏和解冻 具体可以了解下, 简单的原型模式,不能满足需求。 如果需要用到复制的对象对其他对象的引用时候,要用到serialize和unserizlize。查看全部
-
自己Mark:引用返回的概念 function & xxx()查看全部
-
不需要在page类中判断业务逻辑,虽然page依赖UserStrategy,但并没有定义或者实现具体代码,只是在index.php中进行判断,再setStrategy之后才调用index方法将代码绑定,page与UserStrategy之间没有耦合查看全部
举报
0/150
提交
取消