Я не знаю, как назвать этот подход, но вопрос в том, нормально ли делать что-то подобноеЯ создаю сущность Messages
и устанавливаю Connection
внутри этой сущности.
<?php
class Message {
private $connection;
public function setName();
public function setSubject();
public function send()
{
$this->connection->send($this);
}
}
Это выглядит как нарушение принципа единой ответственности.
У меня есть служба Mailer
, которая может создавать Message
сущность (уже с Connection
внутри).Также Mailer
может отправлять Message
сущность сама по себе.
И есть два варианта, как я могу ее использовать;
<?php
// First
$mailer->send($message);
// Second
$message->send();
Разве это не нормально, и я должен использовать толькопервый подход?