PHP 設計模式 組合模式

2021-08-26 15:06:59 字數 1044 閱讀 9049

組合模式:將物件組合成樹形結構來表現」部分-整體「的層次結構。

目的(重點):使得客戶以一致的方式處理單個物件以及物件的組合。

<?php 

header("content-type: text/html; charset=utf-8");

//定義抽象類,抽象方法,方法引數根據『黎克特制替換原則』傳遞父類。

abstract

class

node

class

level_1

extends

node

/**方法中的引數為子節點物件,

*/public

function

addnode

(node $obj)

public

function

removenode

(node $obj)

public

function

show

($str='')

}}//葉子節點不再有子節點,只實現輸出。

class

level_2

extends

node

function

addnode

(node $obj)

function

removenode

(node $obj)

function

show

($str)

} $p = new level_1('手機');

$p1 = new level_2('華為');

//$p->addnde($p); //不能新增自己為自己的子節點,會出現無限遞迴。

$p->addnode($p1);

$p->addnode($p2);

$p->show();//兩層結構

$com = new level_1('數碼');

$com->addnode($p);

$com->show();//三層結構

?>

PHP設計模式之組合模式

當我們的乙個物件可能代表乙個單一的實體,或者乙個組合的實體,但是仍然需要通過同樣的方式被使用時,這種情形則適合使用組合模式的設計。組合模式是一種結構型模式。當看了書上的解釋之後,並不是很理解,遂去翻了翻 大化設計模式 以下為原文截圖 看完這本書上的解釋之後也不是很理解,但是能夠進行編碼了,以下為組合...

PHP設計模式之組合模式

網際網路公司流行扁平化管理,也就是管理層級盡量少於或者不超過三層,作為乙個底層的碼農,你的ceo和你的職級也就相差3層以內。但是很多傳統企業,則會有非常深的層級關係,從資料結構看,這種按職能進行分組的組織架構非常像一顆樹。而我們今天介紹的組合模式的作用就和這個企業組織架構層級的模式非常類似。gof定...

php 設計模式 組合器模式

ini set error reporting e all ini set display errors on 目的 分級處理 整體與結構 樹結構 ini set error reporting e all ini set display errors on abstract class compa...