工廠模式:
工廠模式
是一種類,它具有為您建立物件的某些方法。您可以使用工廠類建立物件,而不直接使用new
。這樣,如果您想要更改所建立的物件型別,只需更改該工廠即可。使用該工廠的所有**會自動更改。
<?phpinte***ce iuser
class user implements iuser
public static function create( )
public function __construct( $id )
public function getname() }
$uo = user::load( 1 );
echo( $uo->getname()."\n" );
?>
單元素模式
<?php觀察者模式require_once("db.php");
class databaseconnection
private $_handle = null;
private function __construct()
public function handle() }
print( "handle = ".databaseconnection::get()->handle()."\n" );
print( "handle = ".databaseconnection::get()->handle()."\n" );
?>
<?phpinte***ce iobserver
inte***ce iobservable
class userlist implements iobservable
public function addobserver( $observer ) }
class userlistlogger implements iobserver
}$ul = new userlist();
$ul->addobserver( new userlistlogger() );
$ul->addcustomer( "jack" );
?>
命令鏈模式
<?phpinte***ce icommand
class commandchain
public function runcommand( $name, $args )
}}class usercommand implements icommand
}class mailcommand implements icommand
}$cc = new commandchain();
$cc->addcommand( new usercommand() );
$cc->addcommand( new mailcommand() );
$cc->runcommand( 'adduser', null );
$cc->runcommand( 'mail', null );
?>
php設計 PHP常用設計模式
1 單例模式指在整個應用中只有乙個物件例項的設計模式 class single public rand static private instance 類直接呼叫 final private function construct private防止外部new this rand mt rand 1,...
PHP常用設計模式 單例模式
單例模式在設計模式中屬於建立型模式,這種模式涉及到乙個單一的類,該類負責建立自己的物件,同時確保只有單個物件被建立。解決問題 當乙個全域性使用的類頻繁地建立與銷毀,你想控制例項數目,節省系統資源的時候。final使類不能繼承 final class singleton 私有clone方法 priva...
PHP常用設計模式 裝飾器模式
裝飾器模式向乙個現有的物件新增新的功能,同時又不改變其結構。這種型別的設計模式屬於結構型模式,它是作為現有的類的乙個包裝。解決了因擴充套件功能增多產生的繼承的問題 class text public function show class docorator class docorator publ...