策略模式可用來建立可插入,可替換以及可重用的元件。其實說簡單一點,就是父類為抽象類,子類(策略類)來具體實現方法
下面是使用了策略模式和不使用策略模式的兩段例項**的區別
<?php
/** * lesson.php
*/class lessons
public function whichlesson()
}}?>
<?php
/** * user.php 客戶端
*/reuquire 'lesson.php';
$lesson = new lessons(lessons::chinese);
echo $lesson->whichlesson();
?>
<?php
/*** lessons.php 父類
*/class
lessons
?>
<?php
/*** chinese.php 策略類
*/class
chinese
extends
lessons
}?>
<?php
/*** biology.php 策略類
*/class
biology
extends
lessons
}?>
<?php
/*** user.php 客戶端
*/require('lessons.php');
require('chinese.php');
require('biology.php');
$lesson = new chinese();
echo $lesson;
?>
-- by vampirebitter
策略模式詳解
策略模式核心點 把每個核心方法邏輯抽象封裝出來,使得程式呼叫結構更加靈活和擴充套件。典型應用就是用來替換程式中過多的if else分支結構。當程式邏輯分支很多時,我們會選擇if else語句或switch case語句來切分,但是這樣的結果往往是程式難以維護,例如下面一段 是根據 包pricecod...
PHP策略模式
個人覺得設計模式只有在實際應用中才能夠慢慢的去熟悉,到最後做到心中有模式,事事有模式,哈哈 例如 乙個電商首頁,可以根據登陸使用者的性別不同顯示不同的內容,比如廣告和商品類別。傳統方法 在程式內部使用多個if,else進行判斷,這樣很難維護,比如我想要再加入乙個人妖使用者!那麼我就要在程式中再加入e...
PHP 策略模式
引言 所屬 行為型模式,常用設計模式之一 學習資料 模式概述 分享一篇關於策略模式講的很好的文章,大家可以參考一下 策略模式就是用來封裝演算法的,但在實踐中,我們發現可以用它來封裝幾乎任何型別的規則,只要在分析過程中聽到需要在不同時間應用不同的業務規則,就可以考慮使用策略模式處理這種變化的可能性。舉...