ホームページ  >  記事  >  バックエンド開発  >  PHP共通デザインパターンのファクトリパターンとシングルトンパターンの紹介

PHP共通デザインパターンのファクトリパターンとシングルトンパターンの紹介

WBOY
WBOYオリジナル
2016-07-25 09:05:19795ブラウズ
  1. /**
  2. ファクトリーパターンの例
  3. @link http://bbs.it-home.org
  4. */
  5. abstract class Operation{
  6. abstract public function getValue($num1,$num2);
  7. public function getAttr(){
  8. return 1;
  9. }
  10. }
  11. class Add extends Operation{
  12. public function getValue($num1, $num2){
  13. return $num1+$num2;
  14. }
  15. }
  16. class Sub extends Operation{
  17. public function getValue($num1, $num2){
  18. return $num1-$num2;
  19. }
  20. }
  21. class Factory{
  22. パブリック静的関数 CreateObj($operation){
  23. switch ($operation){
  24. case '+': return new Add();
  25. case '-': return new Sub();
  26. }
  27. }
  28. }
  29. $Op=Factory::CreateObj('-');
  30. echo $Op->getValue(3, 6);
  31. ?>
コードをコピー

実際の開発ではデータベース選択クラスとして使用されることが一般的です。

PHP 設計パターンのシングルトン モードを見てみましょう。存在するのはシングルトンだけです。簡単に言えば、オブジェクトは特定のタスクのみを担当します。 たとえば、郵便局には電話帳が 1 冊しかありません。必要な人が読むことができます。全員が確認したいときに職員が 1 部取り出して、読み終えたらリサイクルする必要はありません。

  1. class Mysql{
  2. public static $conn;
  3. public static function getInstance(){
  4. if (!self::$conn){
  5. new self();
  6. return self:: $conn;
  7. }else {
  8. return self::$conn;
  9. }
  10. }
  11. プライベート関数 __construct(){
  12. self::$conn= "mysql_connect:";// mysql_connect('','','' )
  13. }
  14. パブリック関数 __clone()
  15. {
  16. trigger_error("接続が 1 つだけ");
  17. }
  18. }
  19. echo Mysql::getInstance();
  20. echo Mysql::getInstance();
  21. ?>
コードをコピー

手順: シングルトン モードは主にデータベース接続クラスとして使用され、パラメーターに従ってシングルトン モードを呼び出すことでリソースの使用効率を向上させることができます。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。