![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP设计模式
带你一步步了解设计模式(每天晚上22点后更新)
Caspian Wren
吃饱了不饿
展开
-
设计模式基本原则
第一个设计模式原则:按接口而不是按实现来编程。这里是指要将变量设置为一个抽象类或接口数据类型的实例而不是一个具体实现的实例。第二个设计模式原则:有些OOP程序员认为对象重用就等同于继承。一个类可以有大量的方法和属性,扩展这个类就可以重用那些对象元素而不用重写代码。可以扩展类,在增加必要的新属性和方法,就一切ok了。不过最后对于紧密绑定的对象,一味的扩展就会带来新的问题。这个问题属于过...原创 2020-01-16 23:17:46 · 152 阅读 · 0 评论 -
PHP封装二:获取方法和设置方法
为了保护封装,同时提供可访问性,OOP设计建议使用获取方法(getters)和设置方法(setters),也分别称为存取方法(accessors)和修该方法(mutators)。不建议直接访问一个类,通过赋值来得到或修改属性,这些工作完全可以有获取方法/设置方法来完成。一般地,使用获取设置方法必须适度;滥用会破坏封装;举例说明:<?php/** * Create by Php...原创 2019-11-28 22:24:11 · 270 阅读 · 0 评论 -
PHP封装一:通过可见性保护封装
谈到封装大家都会想到另外一个词就是:信息隐藏(information hiding), 如果一开始让你理解封装就直接谈信息隐藏并不一定有帮助或者更好的理解,那我们实际上可以先去了解什么是划分(compartments)。Crady Booch给出以下描述:封装就是划分一个抽象的诸多元素的过程,这些元素构成抽象的接口和行为;封装的作用就是将抽象的契约接口与其实现分离一旦把一个复杂的...原创 2019-11-27 23:18:42 · 236 阅读 · 0 评论 -
php类型提示:类似数据类型
OOP和设计模式中抽象有很多的重要的结构要素,其中一个就是指定数据类型的为接口而不是一个具体实现,这说明对数据的引用要通过父类完成,这通常是一个接口或抽象类。提供类型提示的基本格式如下:function doWork(TypeHint $someVar)类型提示必须是类或者接口的名字。在设计模式中,更倾向于使用抽象类或者接口,因为他不会绑定一个具体实现的类型,而是限制了结构。实例...原创 2019-11-26 23:39:43 · 333 阅读 · 0 评论 -
PHP接口和常量
尽管不能再接口中包含变量,但是可以包含常量。要使用常量,需要用到"作用域解析操作符"即是双冒号::,示例:使用接口常量的一般格式$someVariable = InterfaceName::SOME_CONSTANT;演示:接口文件 IConnectInfo.php<?phpinterface IConnectInfo{// 定义常量 co...原创 2019-11-26 22:58:40 · 559 阅读 · 0 评论 -
php设计模式之接口
认真阅读:OPP和设计模式的另一个组成是接口(interface),接口也有抽象方法,不过不像在抽象类中那样包含具体方法和变量(但是可以包含具体常量——php独有特性),关于接口是设计模式和OOP重要结构要素;要创建一个接口要使用关键字interface而不是class、一般约定接口以I或者i开头;下面举个简单的例子:IMethodHoder.php<?phpinterfa...原创 2019-11-25 23:57:27 · 425 阅读 · 0 评论