Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy singleton byłby dobrym wzorcem projektowym dla witryny mikroblogowej?

Celem Singletona jest ograniczenie instancji obiektu do jednego i zapewnienie globalnego dostępu.
Oba są rzeczy, których nie chcesz ani nie potrzebujesz.

Ograniczanie instancji do jednej instancji jest raczej bezcelowe w PHP, gdzie to ograniczenie dotyczy tylko instancji w bieżącej wniosek. Jeśli dwa żądania trafią do Twojej witryny z mikroblogami w tym samym czasie, nadal będzie jedno wystąpienie na każde żądanie. Jeśli chcesz się upewnić, że istnieje tylko instancja, po prostu nie twórz instancji drugiej instancji.

Globalny dostęp też jest niczym, ponieważ łamie enkapsulację. Jeśli potrzebujesz określonej instancji wewnątrz swoich obiektów, przekaż ją przez wstrzykiwanie zależności . To jest czyste i łatwe w utrzymaniu. Dodatkową zaletą jest możliwość łatwej wymiany zależności z innymi implementacjami, takimi jak na przykład klasy pozorne dla Twoich testów jednostkowych .

Nawet Erich Gamma , jeden z wynalazców wzorca Singleton, kwestionuje ten wzorzec w dzisiejszych czasach:

Najlepiej unikać singli.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolejność zagnieżdżenia SQL według?

  2. Jak używać Entity Framework 6 z MySQL w ASP.NET 5?

  3. Mysql:Odmowa dostępu dla użytkownika 'root'@'localhost' zaraz po instalacji na macOS

  4. Ponowne uruchamianie transakcji w MySQL po zakleszczeniu

  5. MySQL:najszybszy sposób liczenia wierszy