PHP面向接口编程 耦合设计模式 简单范例

复制代码 代码如下:

<?php
interface js{
function ys($a,$b);
}
class Af implements js{
function ys($a,$b){
return "加法运算......结果为:".($a+$b);
}
}
class Jf implements js{
function ys($a,$b){
return "减法运算......结果为:".($a-$b);
}
}
class AAf implements js{
function ys($a,$b){
return "乘法运算......结果为:".($a*$b);
}
}
class JJf implements js{
function ys($a,$b){
return "除法运算......结果为:".($a/$b);
}
}
class Modf implements js{
function ys($a,$b){
return "取模运算......结果为:".($a % $b);
}
}
class China implements js{
public $varl=null;//这里直接:public $varl = new nothingx(); 会出错。
function __construct(){
$this->varl = new nothingx();
}
function ys($a,$b){
return $this->varl->say();
}
}
/*也可以用继承的方式实现哟:
class China extends nothingx implements js{
function ys($a,$b){
return parent::say();
}
}
*/
class nothingx{
function say(){
return "我什么运算都不做...只是为了实现<font color=#990000><b>‘耦合设计模式'</b></font>...我是出来打酱油的......";
}
}
class test{
private $one;
private $two;
public function __construct($x,$y){
$this->one=$x;
$this->two=$y;
echo "<font size=20px><strong>面向对象程序设计——接口</font></strong><hr>Class test初始化:<br>属性\$one=".$this->one."  属性\$two=".$this->two."<hr>";
}
function display(js $a){
return "<font color=#990000><b>用PHP接口技术实现的运算——开始运算啦:</b></font><hr>".$a->ys($this->one,$this->two)."<hr>";
}
}
$t=new test(103,2);
$t1=new jf;
$t2=new China;
echo $t->display($t1);
echo $t->display($t2);
?>

时间: 2024-08-31 20:19:23

PHP面向接口编程 耦合设计模式 简单范例的相关文章

PHP面向接口编程 耦合设计模式 简单范例_php技巧

复制代码 代码如下: <?php interface js{ function ys($a,$b); } class Af implements js{ function ys($a,$b){ return "加法运算......结果为:".($a+$b); } } class Jf implements js{ function ys($a,$b){ return "减法运算......结果为:".($a-$b); } } class AAf impleme

PHP面向接口编程 耦合设计模式

php教程面向接口编程 耦合设计模式 关于接口的理解. 接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离. 我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理解的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦. 接口的本身反映了系统设计人员对系统的抽象理解. 接口应有两类:第一类是对一个体的抽象,它可对应为一个抽象体(abstract class): 第二类是对一个体某一方面的抽象,即形成一个抽象面(inter

.NET项目开发—浅谈面向接口编程、可测试性、单元测试、迭代重构(项目小结)

阅读目录: 1.开篇介绍  2.迭代测试.重构(强制性面向接口编程,要求代码具有可测试性) 2.1.面向接口编程的两个设计误区 2.1.1.接口的依赖倒置 2.1.2.接口对实体的抽象  2.2.迭代单元测试.重构(代码可测试) 2.2.1.LINQ表达式对单元测试的影响  1]开篇介绍 最近一段时间结束了一个小项目的开发,觉得有些好东西值得总结与分享,所以花点时间整理成文章: 大多数情况下我们都知道这些概念,面向接口编程是老生常谈的话题了,有几年编程经验的都知道怎么运用:单元测试其实在前几年不

通过生活中例子模拟java面向接口编程实例

包括如下接口和类:   举例,比如一台电脑,主板上的PCI插槽就可以理解为现实中的接口 你可你把声卡,显卡,网卡都插在PCI插槽上,而不用担心那个插槽是专门插哪个的 原因是做主板的厂家和做各种卡的厂家都遵守了统一的规定 包括尺寸,排线等等 但是各种卡的内部实现结构是不一样的. 下面具体模拟:   通过生活中例子模拟java面向接口编程实例 package com.test; /** * 定义PCI接口,定义主板PCI插槽规范 * @author yanerkang * */ public int

PHP设计模式——简单工厂

      声明:本系列博客参考资料<大话设计模式>,作者程杰.         前面两节内容介绍了什么是设计模式以及六大原则,相信看完前两节内容大家对设计模式已经有了初步的认识,接下来说一下设计模式的分类.         一般将面向对象设计模式分为三类:创建型.结构型.行为型三种.         创建型:创建对象时,不再由我们直接实例化对象:而是根据特定场景,由程序来确定创建对象的方式,从而保证更大的性能.更好的架构优势.创建型模式主要有简单工厂模式(并不是23种设计模式之一).工厂方法

解读设计模式----简单工厂模式(SimpleFactory Pattern)

一.模式概述 从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现,学习了此模式可以为后面的很多中模式打下基础.那好,我们就来了解下什么是简单工厂模式? 我们来分析一个现实生活中的案例,每天早晨起床洗唰后是干什么呢?吃早餐(这里只针对在外吃早餐的上班族

面向对象编程设计模式--简单工厂模式讲解

工作之余,在看资料过程中发现一个极易理解的简单工厂模式的例子,自己亲自试练一番,感觉对这个设计模式不熟悉的朋友, 一看马上就知道是什么回事了. 简单工厂模式根据提供给它的数据,返回几个可能类中的一个类的实例.通常它返的类都有一个共同的你类和共同的方法, 但每个方法执行的任务不同,而且根据不同的数据进行了优化. 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一. 下面进行一个代码示例: public class g

设计模式简单总结

  一 .创建型模式   1.1单例模式    设计原则:无    介绍:在整个应用中只有一个对象   1.2简单工厂   常用场景:需要在一堆产品中选择其中一个产品   介绍:通过工厂类去创建产品,调用者不用直接去创建对象,并封装了对象的创建细节.   设计原则:遵循单一职责 .违背开闭原则(生成不同对象,需要实现不同的工厂类,扩展性不好)  1.3工厂方法模式       常用场景:一种场景是希望工厂与产品的种类对客户端保持透明,给客户端提供一致的操作,另外一种是不同的工厂和产品可以提供客户

简单的php文件上传简单范例

一个比较简单的php文件上传范例,可用于要求不高的时候,记录到这里,方便以后要用的时候直接过来复制. $resume = $_FILES['resumefile']; if($resume['name']!='') {  $enableType = array('jpg','png','gif','doc','docx','rtf','pdf'); //支持格式  $maxSize = 1024*1024; //最大允许上传1M的文件  $filePath = 'upload/resume/';