reworked the Mediator pattern

This commit is contained in:
Dominik Liebler
2019-08-22 16:00:47 +02:00
parent 0d24d48c26
commit 6d2f308401
11 changed files with 70 additions and 120 deletions

View File

@@ -0,0 +1,35 @@
<?php declare(strict_types=1);
namespace DesignPatterns\Behavioral\Mediator;
class UserRepositoryUiMediator implements Mediator
{
/**
* @var UserRepository
*/
private $userRepository;
/**
* @var Ui
*/
private $ui;
public function __construct(UserRepository $userRepository, Ui $ui)
{
$this->userRepository = $userRepository;
$this->ui = $ui;
$this->userRepository->setMediator($this);
$this->ui->setMediator($this);
}
public function printInfoAbout(string $user)
{
$this->ui->outputUserInfo($user);
}
public function getUser(string $username): string
{
return $this->userRepository->getUserName($username);
}
}