極簡架構模式-傳輸物件模式

long2ge發表於2021-12-15

設計的原則和思想

在傳輸物件中填充資料,然後把物件序列化後傳輸到其他應用。

結構中包含的角色

  1. 業務物件(Business Object)
  2. 傳輸物件(Transfer Object)

最小可表達程式碼

class Business
{
    private $name;

    public function __construct(String $name)
    {
        $this->name = $name;
    }

    public function getName()
    {
        return $this->name;
    }
}

class Transfer
{
    private $businesses = [];

    public function add($business)
    {
        $this->businesses[] = $business;
    }

    public function getBusinesses()
    {
        return $this->businesses;
    }

    public function toSerialize()
    {
        return serialize($this);
    }
}

$transfer = new Transfer();
$transfer->add(new Business('資料'));
$data = $transfer->toSerialize(); // 把data傳送到伺服器中
var_dump($data); // 列印

實際應用場景

  1. 分散式應用的遠端呼叫。
  2. 資料庫傳輸資料到Spring應用。
本作品採用《CC 協議》,轉載必須註明作者和本文連結
Long2Ge

相關文章