English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Dettagliata spiegazione del modello Singleton e Factory Pattern in PHP

Concetto di modello singleton

Il modello singleton è un modello di progettazione che prevede che una classe abbia solo un'istanza di oggetto nell'intera applicazione.

Caratteristiche del modello singleton

Una classe ha solo una singola istanza nell'intera applicazione

La classe deve creare questa istanza autonomamente

Deve fornire questa istanza all'intero sistema autonomamente

Ragioni per l'uso del modello singleton in PHP

Utilizzo la maggior parte delle operazioni PHP con vari database, inclusi MySQL, Redis, Memcache e altri database relazionali e non relazionali, quindi un'applicazione può avere molte operazioni di connessione al database. Se non si utilizza il modello singleton, ogni volta che si esegue new operazione, ma ogni nuova operazione new consuma molte risorse di memoria e risorse di sistema, e ogni apertura e chiusura della connessione al database è una grande prova e spreco per il database.

È necessario un membro variabile statico per memorizzare l'istanza unica della classe (solitamente $instance è una variabile privata)

Il costruttore e la funzione clone devono essere dichiarati come privati, per prevenire che il programma esterno crei una nuova istanza della classe, perdendo il significato del modello singleton

Deve fornire un metodo pubblico statico per accedere a questa istanza, restituendo un riferimento all'unico'istanza

//Design pattern
//Il modello singleton utilizza sempre lo stesso oggetto
//class Ren
//{
// public $name;
// private static $dx; //Memorizzare l'oggetto
//
// private function __construct()
// {
//
//}
//
// public static function DuiXiang()
// {
//  if(empty(self::$dx))
//  {
//   self:;$dx=new Ren();
//}
//Ritorna self::$dx;
//}
//}
//
//$r = Ren::DuiXiang();
//Rendere il costruttore privato
//Creare un metodo per costruire oggetti indirettamente
//Aggiungere limitazioni in questo metodo

Classe fabbrica

È una classe che contiene un metodo speciale utilizzato per creare altri oggetti, la classe fabbrica è cruciale nella pratica del programmazione ad oggetti polimorfici, poiché consente di sostituire dinamicamente le classi, modificare la configurazione e di solito rende l'applicazione più flessibile. È molto importante per un sviluppatore PHP esperto padroneggiare il modello di fabbrica.

Lo schema di fabbrica viene solitamente utilizzato per restituire classi diverse che soddisfano interfacce simili, un uso comune del metodo di fabbrica è creare provider polimorfi, il che ci permette di decidere quale classe instanziare in base alla logica dell'applicazione o alle impostazioni di configurazione, ad esempio, si può utilizzare tali provider per estendere una classe, senza dover ristrutturare altre parti dell'applicazione, utilizzando così il nuovo nome esteso.

Di solito, lo schema di fabbrica ha una costruzione chiave, chiamata secondo le norme generali come metodo statico Factory, tuttavia, questo è solo un principio, il metodo di fabbrica può essere chiamato in modo arbitrario, questo metodo statico può accettare qualsiasi parametro di dati, deve restituire un oggetto.

class YunSuan
{
 public $a;
 public $b;
 function Suan()
 {
  echo "Esegui l'operazione tra due numeri";
 }
class gongchang
{ // Funzione: fornire un parametro, restituire un oggetto
 static function chanpin($name)
 {
  switch($name)
  {
   case "'+":
    return new jia();
    break;
   case "-";
    return new jian();
    break;
  }
 }
}
$a=gongchang::chanpin("+");

Questo è tutto il contenuto dell'articolo, spero che il contenuto di questo articolo possa essere di aiuto alla tua apprendimento o lavoro, e spero anche di ricevere molta supporto per il tutorial di urla!

Dichiarazione: il contenuto di questo articolo è stato prelevato da Internet, il copyright è della proprietà del rispettivo proprietario, il contenuto è stato contribuito volontariamente dagli utenti di Internet e caricato autonomamente, questo sito non possiede il diritto di proprietà, non è stato sottoposto a elaborazione manuale e non assume alcuna responsabilità legale. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente i contenuti sospetti di violazione del copyright.

Ti potrebbe interessare