<?php
// 策略模式适用于使用不同策略达到同一个目的。
// 例如去学校,可以开车,可以坐车
// 例如过滤字符串,可以是去掉特殊字符,可以是过滤脏话
// php 技术群:781742505
/**
* Interface Vehicle
*/
interface Vehicle
{
/**
* @return mixed
*/
public function by();
}
/**
* Class Plane
*/
class Plane implements Vehicle
{
/**
* @return mixed|string
*/
public function by(){
return 'plane';
}
}
/**
* Class Train
*/
class Train implements Vehicle
{
/**
* @return mixed|string
*/
public function by(){
return 'train';
}
}
/**
* Class People
*/
class People
{
/**
* @param Vehicle $vehicle
*
* @return mixed
*/
public function trip(Vehicle $vehicle)
{
return $vehicle->by();
}
}
$jack = new People();
echo $jack->trip(new Train());
策略模式
最新推荐文章于 2024-08-28 11:33:13 发布