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 相关文章推荐
使用网络地址转换实现多服务器负载均衡
Oct 09 PHP
php面向对象全攻略 (一) 面向对象基础知识
Sep 30 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
php读取excel文件的简单实例
Aug 26 PHP
PHPThumb图片处理实例
May 03 PHP
PHP常用工具类大全附全部代码下载
Dec 07 PHP
PHP模板引擎Smarty内置变量调解器用法详解
Apr 11 PHP
php微信开发之带参数二维码的使用
Aug 03 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
Jun 07 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
Aug 20 PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 27 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
PHP中创建并处理图象
2006/10/09 PHP
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
PHP之COOKIE支持详解
2010/09/20 PHP
JS控件autocomplete 0.11演示及下载 1月5日已更新
2007/01/09 Javascript
广告切换效果(缓动切换)
2009/05/27 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
jQuery EasyUI API 中文文档 - Documentation 文档
2011/09/29 Javascript
用dtree实现树形菜单 dtree使用说明
2011/10/17 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
javascript date格式化示例
2013/09/25 Javascript
调用DOM对象的focus使文本框获得焦点
2014/02/19 Javascript
JavaScript 动态加载脚本和样式的方法
2015/04/13 Javascript
JQuery中DOM加载与事件执行实例分析
2015/06/13 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
js canvas实现擦除效果示例代码
2017/04/26 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
jQuery-App输入框实现实时搜索
2020/11/19 jQuery
用Python遍历C盘dll文件的方法
2015/05/06 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
Python之dict(或对象)与json之间的互相转化实例
2018/06/05 Python
python2与python3的print及字符串格式化小结
2018/11/30 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
python爬虫 正则表达式解析
2019/09/28 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
八项规定整改措施
2014/02/12 职场文书
人事文员岗位职责
2014/02/16 职场文书
高中军训感言600字
2014/03/11 职场文书
合伙经营协议书范本
2014/04/18 职场文书
节能环保口号
2014/06/12 职场文书
2014年医务科工作总结
2014/12/18 职场文书
担保书范本
2015/01/20 职场文书
房租涨价通知
2015/04/23 职场文书
2015年六年级班主任工作总结
2015/10/15 职场文书
mysql死锁和分库分表问题详解
2021/04/16 MySQL