//单一职责原则

class Modem{

public function dial(){

return "dialing....";

}

public function hangup(){

return "hangup!!!";

}

public function send(){

return "send info!!!";

}

public function receive(){

return "received!!!";

}

}

class Client{

public static function doing(){

$modem = new Modem();

echo $modem -> dial(); //拨号

echo $modem -> hangup(); //挂断

echo $modem -> send(); //发送

echo $modem -> receive(); //接收

}

}

//如果要修改接收方式的话,所有依赖modem的模块都要修改了

interface IConnection{

public function dial();

public function hangup();

}

interface ICommunication{

public function send();

public function receive();

}

class Modem implements IConnection, {

public function dial(){

return "dialing....";

}

public function hangup(){

return "hangup!!!";

}

}

class Communication implements ICommunication{

public function send(){

return "send!!!";

}

public function receive(){

return "received!!!";

}

}

class Client{

static public function doing(){

$m = new Modem();

$c = new Communication();

echo $m -> dial(); //拨号

echo $m -> hangup(); //挂断

echo $c -> send(); //发送

echo $c -> receive(); //接收

}

}

Client :: doing();

?>

单一职责原则核心:一个类只完成它应该完成的职责。

一个类只完成它应该完成的职责,不能推诿责任,也不可越殂代疱,不能成为无所不能的上帝类。如果你的团队中实施宽松的“代码集体所有权”,在编码的过程中出现许多人同时修改(维护)同一个类的现象,而且成员之间的沟通不够及时,主动和畅通的话,那么时间一长,就很可能出现“承担过多职责”的上帝类。这时,提炼基类/接口和提炼类重构将能帮助我们消除或减轻这种设计臭味。

php网站系统设计的原则,php设计模式的六大原则(一):单一职责原则相关推荐

  1. 学习设计模式 - 六大基本原则之单一职责原则

    设计模式总共有六大基本原则,统称为SOLID (稳定)原则,分别是S-单一职责原则(Single Responsibility Principle), O-开闭原则(Open closed Princ ...

  2. 设计模式-单一职责原则

    设计模式-单一职责原则 单一职责原则使用的是创建型模式 创建型模式 创建型模式对类进行抽象 重点,创建型模式能够将对象的创建和和对象的使用分离.即使用创建型模式能够使得对象的创建,对象的使用分离.重点 ...

  3. 设计模式六大原则(一)----单一职责原则

    设计模式六大原则之[单一职则原则] 一.什么是单一职责原则 首先, 我们来看单一职责的定义. 单一职责原则,全称Single Responsibility Principle, 简称SRP. A cl ...

  4. 设计模式原则篇:(1)单一职责原则--Single Responsibility Principle

    上篇文章提及到设计模式中应遵循的设计原则,并且列出了设计模式中应当遵循的六大原则. 次篇文章主要讨论单一职责原则. 单一职责原则(SRP): 不要存在多于一个导致类变更的原因.简单的讲,就是一个类或接 ...

  5. 设计模式-02.经典设计原则-第一节-单一职责原则,开闭原则,里式替换,接口隔离【万字长文系列】

    文章目录 设计模式经典设计原则-第一节 单一职责原则(SRP) 如何理解单一职责原则? 如何判断类的职责是否足够单一? 类的职责是否设计得越单一越好? 开闭原则(OCP) 如何理解"对扩展开 ...

  6. 嘻哈说:设计模式之单一职责原则

    1.定义 首先呢,我们来看一下单一职责原则的定义. 就一个类而言,应该只有一个引起它变化的原因 这个说法不是很好懂,有一些抽象,不过呢,我们依旧可以尝试着理解一下. 就一个类而言,只有一个引起它变化的 ...

  7. 1. 目标精通--用java写设计模式:单一职责原则

    文章目录 1.什么是单一职责原则 2. 单一职责原则的认识 3. 代码案例 3.1 一个正常的代码 3.1.1执行结果 3.1.2 分析 3.2 职责扩散 3.2.1 执行结果 3.2.2 分析 3. ...

  8. 经典设计原则:单一职责原则(SRP)

    本文详解设计原则中的单一职责原则,目的还是提高代码的可读性.可扩展性.复用性.可维护性等. 目录 1. 单一职责原则(SRP) 2. 如何理解单一职责原则? 3. 如何判断类的职责是否足够单一? 4. ...

  9. SOLID原则:单一职责原则(SRP)

    SOLID:SOLID 原则并非单纯的1个原则,而是由5个设计原则组成,它们分别是:单一职责原则.开闭原则.里式替换原则.接口隔离原则和依赖反转原则,SOLID 由5个设计原则的头一个字母组成. 如何 ...

  10. 六大设计原则之单一职责原则

    单一职责原则 单一职责原则(Single Responsibility Principle)–SRP: There should never be more than one reason for a ...

最新文章

  1. 分布式系统唯一ID生成方案汇总【转】
  2. Python3 的 encode 与 decode
  3. 用Emesene替换Windows Live Messenger
  4. 【数据结构基础应用】【查找和排序算法】
  5. shell softech 面料_求高人指点 猛犸象的SOFTECH面料和GTX PROSHELL面料哪个好
  6. 初探EntityFramework——来自数据库的Code First
  7. 【Python】Pygame模块设计游戏
  8. WordPress建站指南
  9. Math.random()取随机数一直为0
  10. mac的java代码生成器为什么文件路径是这样的
  11. oracle数据库sql语句修改表某列字段长度
  12. 输出教师信息c语言作业,C语言教师管理系统代码(最新整理)
  13. 用python写一个魂斗罗
  14. 网络配置中rc.d-rc6.d的说明
  15. 老旧小区为什么要进行安防升级改造
  16. GNN、GCN、GAT关系
  17. 如何将m4v视频格式快速转换成mp4视频呢
  18. vue 生命周期 这个博客写的很好https://www.cnblogs.com/happ0/p/8075562.html
  19. c语言字母菱形金字塔编程,C语言打印菱形、金字塔
  20. JS小游戏_能坚持几秒

热门文章

  1. cocos2dx 圆盘抽奖_cocos2d编写的类似幸运大转盘抽奖源码
  2. springboot 启动banner 打印 佛祖保佑
  3. 32位和64位版本的Office异同点
  4. 讯时后台编辑器在IE8下无法打开窗口的解决办法
  5. Ubuntu18.04安装分析
  6. matplotlib plot画图不弹框
  7. linux串口工具 kermit,Linux下串口工具kermit的安装使用攻略
  8. Carson带你学数据结构:手把手带你了解 ”图“ 所有知识!(含DFS、BFS)
  9. 火狐浏览器的翻译问题
  10. 江苏扬州|2021年起,高支模须用盘扣式钢管支架!