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 5.0 Pear安装方法
Dec 06 PHP
php 保留小数点
Apr 21 PHP
PHP备份/还原MySQL数据库的代码
Jan 06 PHP
PHP5中新增stdClass 内部保留类
Jun 13 PHP
谨慎使用PHP的引用原因分析
Sep 06 PHP
Smarty最简单实现列表奇偶变色的方法
Jul 01 PHP
PHP中Enum(枚举)用法实例详解
Dec 07 PHP
PHP实现Google plus的好友拖拽分组效果
Oct 21 PHP
php 算法之实现相对路径的实例
Oct 17 PHP
php更新cookie内容的详细方法
Sep 30 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 PHP
laravel使用redis队列实例讲解
Mar 23 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
玩转图像函数库―常见图形操作
2006/09/03 PHP
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
php更新mysql后获取影响的行数发生异常解决方法
2013/03/28 PHP
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
2015/08/31 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
js 编程笔记 无名函数
2011/06/28 Javascript
JS原型对象通俗&quot;唱法&quot;
2012/12/27 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
初识SmartJS - AOP三剑客
2014/06/08 Javascript
javascript的函数作用域
2014/11/12 Javascript
javascript禁止访客复制网页内容的实现代码
2015/08/05 Javascript
解决jQuery使用JSONP时产生的错误
2015/12/02 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
js简易版购物车功能
2017/06/17 Javascript
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
[49:58]完美世界DOTA2联赛PWL S3 Magma vs DLG 第一场 12.18
2020/12/19 DOTA
ptyhon实现sitemap生成示例
2014/03/30 Python
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
Python登录并获取CSDN博客所有文章列表代码实例
2017/12/28 Python
Win7 64位下python3.6.5安装配置图文教程
2020/10/27 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
基于Python实现用户管理系统
2019/02/26 Python
基于Python实现人脸自动戴口罩系统
2020/02/06 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
如何通过python检查文件是否被占用
2020/12/18 Python
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
法学专业个人求职信
2013/09/26 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android