mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-05-22 06:21:46 +02:00
cs Mediator
This commit is contained in:
parent
69aa0ae5b5
commit
4b66417509
@ -25,6 +25,11 @@ class Mediator implements MediatorInterface
|
|||||||
protected $database;
|
protected $database;
|
||||||
protected $client;
|
protected $client;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param Subsystem\Database $db
|
||||||
|
* @param Subsystem\Client $cl
|
||||||
|
* @param Subsystem\Server $srv
|
||||||
|
*/
|
||||||
public function setColleague(Subsystem\Database $db, Subsystem\Client $cl, Subsystem\Server $srv)
|
public function setColleague(Subsystem\Database $db, Subsystem\Client $cl, Subsystem\Server $srv)
|
||||||
{
|
{
|
||||||
$this->database = $db;
|
$this->database = $db;
|
||||||
@ -32,19 +37,31 @@ class Mediator implements MediatorInterface
|
|||||||
$this->client = $cl;
|
$this->client = $cl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* make request
|
||||||
|
*/
|
||||||
public function makeRequest()
|
public function makeRequest()
|
||||||
{
|
{
|
||||||
$this->server->process();
|
$this->server->process();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* query db
|
||||||
|
*
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
public function queryDb()
|
public function queryDb()
|
||||||
{
|
{
|
||||||
return $this->database->getData();
|
return $this->database->getData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* send response
|
||||||
|
*
|
||||||
|
* @param string $content
|
||||||
|
*/
|
||||||
public function sendResponse($content)
|
public function sendResponse($content)
|
||||||
{
|
{
|
||||||
$this->client->output($content);
|
$this->client->output($content);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
|
@ -13,15 +13,15 @@ interface MediatorInterface
|
|||||||
*
|
*
|
||||||
* @param string $content
|
* @param string $content
|
||||||
*/
|
*/
|
||||||
function sendResponse($content);
|
public function sendResponse($content);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* makes a request
|
* makes a request
|
||||||
*/
|
*/
|
||||||
function makeRequest();
|
public function makeRequest();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* queries the DB
|
* queries the DB
|
||||||
*/
|
*/
|
||||||
function queryDb();
|
public function queryDb();
|
||||||
}
|
}
|
||||||
|
@ -9,15 +9,21 @@ use DesignPatterns\Mediator\Colleague;
|
|||||||
*/
|
*/
|
||||||
class Client extends Colleague
|
class Client extends Colleague
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* request
|
||||||
|
*/
|
||||||
public function request()
|
public function request()
|
||||||
{
|
{
|
||||||
$this->getMediator()->makeRequest();
|
$this->getMediator()->makeRequest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* output content
|
||||||
|
*
|
||||||
|
* @param string $content
|
||||||
|
*/
|
||||||
public function output($content)
|
public function output($content)
|
||||||
{
|
{
|
||||||
echo $content;
|
echo $content;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -9,10 +9,11 @@ use DesignPatterns\Mediator\Colleague;
|
|||||||
*/
|
*/
|
||||||
class Database extends Colleague
|
class Database extends Colleague
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
public function getData()
|
public function getData()
|
||||||
{
|
{
|
||||||
return "World";
|
return "World";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,9 @@ use DesignPatterns\Mediator\Colleague;
|
|||||||
*/
|
*/
|
||||||
class Server extends Colleague
|
class Server extends Colleague
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* process on server
|
||||||
|
*/
|
||||||
public function process()
|
public function process()
|
||||||
{
|
{
|
||||||
$data = $this->getMediator()->queryDb();
|
$data = $this->getMediator()->queryDb();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user