随笔分类 - 面向对象,设计模式
摘要:a = new pjl(); } public function say(){ $this->a->say(); } public function ml(){ $this->a->ml(); }}$m = new wangpo();$m->say();echo "";$m->ml();?> ...
阅读全文
摘要:单一职责原则规定一个类应该只有一个发生变化的原因。通俗的说,即一个类只负责一项职责。我们一般在设计过程中,都会遵循这个原则。但是最后还是会写出违背单一职责原则的代码,为什么呢?因为会出现职责扩散。所谓职责扩散,就是因为某种原因,职责P被分化为粒度更细的职责P1和P2。我们一般事前是无法预知到职责会扩...
阅读全文
摘要:策略模式是有客户端自行实例化算法类的,而简单工厂模客户端只传参数,不关心对象的生成。结合两种模式,可以在使用策略模式的时候客户端不再生成算法的对象。修改策略模式的配置类即可。在之前策略模式基础上,修改如下cg = new category_a();break; case 'b': $...
阅读全文
摘要:策略模式:定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。是一种行为模式。策略模式包含三种角色1 抽象策略角色: 策略类,通常由一个接口或者抽象类实现。2 具体策略角色:包装了相关的算法和行为。3 环境角色:持有一个策略类的引用,最终给客户端...
阅读全文
摘要:作为对象的创建模式,用工厂方法代替new操作。简单工厂模式是属于创建型模式,又叫做静态工厂方法模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。工厂类,包含工厂方法,由参数决定实例化哪一种对象多种类,均含同一方法,实现具体业务多种类继承一抽象类,抽象方...
阅读全文
摘要:hello();?> UML类图在此补充一句,self 表示类名,完全可以用类名替代
阅读全文