ฉันไม่รู้จริงๆว่าจะเรียกวิธีนี้ว่าอย่างไร แต่คำถามคือ - มันโอเคไหมที่จะทำอะไรแบบนี้ ฉันสร้างเอนทิตี 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();
ไม่เป็นไรใช่ไหม และฉันควรใช้วิธีแรกเท่านั้น?