php接口隔离原则实例分析


Posted in PHP onNovember 11, 2019

本文实例讲述了php接口隔离原则。分享给大家供大家参考,具体如下:

使用多个专门的接口比使用单一的总接口要好。

一个类对另外一个类的依赖性应当是建立在最小的接口上的。

一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染。

“不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。”这个说得很明白了,再通俗点说,不要强迫客户使用它们不用的方法,如果强迫用户使用它们不使用的方法,那么这些客户就会面临由于这些不使用的方法的改变所带来的改变。

<?php
interface A
{
  public function getAge();
}
interface B extends A
{
  public function getName();
}
class D implements A
{
  /**
   * interface @Override
   */
  public function getAge()
  {
    return 22;
  }
}
class C extends D implements B
{
  /*
   * interface @Override
   */
  public function getName()
  {
    return '勇哥';
  }
}
header("content-type:text/html;charset=utf-8");
$c = new \C();
echo $c->getName();
?>

运行结果:

勇哥

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php面向对象全攻略 (九)访问类型
Sep 30 PHP
使用bcompiler对PHP文件进行加密的代码
Aug 29 PHP
php 数组的一个悲剧?
May 11 PHP
url decode problem 解决方法
Dec 26 PHP
php中将数组存到文件里的实现代码
Jan 19 PHP
PHP代码优化的53个细节
Mar 03 PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
Jan 05 PHP
PHP 配置后台登录以及模板引入
Jan 24 PHP
老生常谈PHP位运算的用途
Mar 12 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 05 PHP
php实现根据身份证获取精准年龄
Feb 26 PHP
Yii框架布局文件的动态切换操作示例
Nov 11 #PHP
Yii框架模拟组件调用注入示例
Nov 11 #PHP
在Laravel中使用MongoDB的方法示例
Nov 11 #PHP
PHP使用递归按层级查找数据的方法
Nov 10 #PHP
php和js实现根据子网掩码和ip计算子网功能示例
Nov 09 #PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
Nov 09 #PHP
php进程(线程)通信基础之System V共享内存简单实例分析
Nov 09 #PHP
You might like
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
php设计模式 Interpreter(解释器模式)
2011/06/26 PHP
php使用websocket示例详解
2014/03/12 PHP
php进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
2015/06/29 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
Jquery下的26个实用小技巧(jQuery tips, tricks &amp; solutions)
2010/03/01 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
jsonp原理及使用
2013/10/28 Javascript
javascript操作数组详解
2014/12/17 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
Vue-axios-post数据后端接不到问题解决
2020/01/09 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
简单了解python模块概念
2018/01/11 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
Python基于matplotlib画箱体图检验异常值操作示例【附xls数据文件下载】
2019/01/07 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
关于Python解包知识点总结
2020/05/05 Python
Django封装交互接口代码
2020/07/12 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
纯css3实现的鼠标悬停动画按钮
2014/12/23 HTML / CSS
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
出纳岗位职责范本
2013/12/01 职场文书
美容师的职业规划书
2013/12/27 职场文书
领导干部考察材料
2014/02/08 职场文书
《跨越百年的美丽》教学反思
2014/02/11 职场文书
教师敬业奉献模范事迹材料
2014/05/18 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书