sql >> Databasteknik >  >> RDS >> Mysql

Skulle singleton vara ett bra designmönster för en mikrobloggsajt?

Singletons syfte är att begränsa objektinstanser till en och att ge global åtkomst.
Båda är saker du inte vill ha eller behöver.

Att begränsa din instans till en instans är ganska meningslöst i PHP där denna begränsning endast gäller instanserna i nuvarande begäran. Om två förfrågningar träffar din mikrobloggsajt samtidigt, kommer det fortfarande att finnas en instans vardera per förfrågan. Om du vill vara säker på att det bara finns en instans, instansiera helt enkelt inte en andra instans.

Global tillgång är inget du vill ha heller, eftersom det bryter inkapslingen. Om du behöver en viss instans inuti dina objekt, skicka in den via beroendeinjektion . Det är rent och underhållbart. Det har den extra fördelen att du enkelt kan utbyta beroenden med andra implementeringar, som till exempel mock-klasser a> för dina enhetstester .

Även Erich Gamma , en av Singleton-mönstrets uppfinnare, ifrågasätter detta mönster nuförtiden:

Det är bäst att undvika singlar.



  1. Hur man returnerar alla otillförlitliga utländska nyckelbegränsningar i SQL Server (T-SQL-exempel)

  2. 3 sätt att skilja år, månad och dag från ett datum i MariaDB

  3. Infoga bild i databasen med php

  4. Är substr eller LIKE snabbare i Oracle?