Yii Framework Forum: Il singleton - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Il singleton Rate Topic: -----

#1 User is offline   Diegovl 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 96
  • Joined: 27-February 11

Posted 07 April 2011 - 06:24 AM

Ciao ragazzi, vorrei farvi una domanda un po' "generica", non direttamente collegata a Yii.

Stavo cercando di capire il senso dell'utilizzo del Singleton, essendomi avvicinato da poco alla OOP.

Il singleton ha lo scopo di garantire che di una determinata classe venga creata una e una sola istanza, e di fornire un punto di accesso globale a tale istanza.

Quello che mi chiedo è: perché? Quali sono i vantaggi dell'utilizzo di questo pattern?
0

#2 User is offline   nickcv 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 154
  • Joined: 23-November 10

Posted 07 April 2011 - 07:51 AM

eviti di avere N copie della stessa cosa che girano (quindi aumentando le performance) ed eviti sopratutto di cambiare valori al suo interno senza accorgertene... in base a come implementi il singleton potresti addirittura loggare il nome del file in cui aggiorni un suo attributo.

è in sostanza l'alternativa più efficiente e pulita ad una variabile globale.
sometimes it's just like teaching pigs how to fly

Posted Image
Posted Image looking for some invite keys? welcome on B4K!
0

#3 User is offline   sensorario 

  • Elite Member
  • Yii
  • Group: Moderators
  • Posts: 1,986
  • Joined: 07-September 10
  • Location:Cesena (Italy)

Posted 07 April 2011 - 10:53 AM

Un utilizzo pratico del pattern singleton può riguardare la connessione al database. Quando inizializzi la classe la prima volta, assegni ad una variabile statica della classe l'handle della connessione. Le volte successive, controlli se questo handle esiste, altrimenti lo ricrei.

Questo, per esempio, ti permette di non aprire più di una connessione alla volta. Se non sono stato chiaro, posso provare a postarti un esempio di codice.
0

#4 User is offline   zaccaria 

  • Elite Member
  • PipPipPipPipPip
  • Yii
  • Group: Members
  • Posts: 2,232
  • Joined: 04-October 09
  • Location:Moscow

Posted 08 April 2011 - 02:15 AM

In esempio semplice di implementazione e 'la funzione loadModel del controller.

Carica il model unasola volta, qundi se per caso chiami piu' volte la loadModel non farai accessi multipli al database.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users