Mysql
 sql >> база данни >  >> RDS >> Mysql

Ще бъде ли singleton добър модел на дизайн за сайт за микроблогове?

Целта на Singleton е да ограничи екземплярите на обекта до един и да осигури глобален достъп.
И двете са неща, които не искате или имате нужда.

Ограничаването на вашия екземпляр до един екземпляр е доста безсмислено в PHP, където това ограничение важи само за екземплярите в текущия искане. Ако две заявки попаднат във вашия сайт за микроблогинг едновременно, всяка заявка пак ще има по един екземпляр. Ако искате да сте сигурни, че има само екземпляр, просто не създавайте втора инстанция.

Глобалният достъп също не е нищо, което искате, защото нарушава капсулирането. Ако имате нужда от определен екземпляр във вашите обекти, предайте го чрез инжектиране на зависимост . Това е чисто и поддържано. Той има допълнителното предимство, че ви позволява лесно да обменяте зависимости с други реализации, като например фалшиви класове за вашите единични тестове .

Дори Ерих Гама , един от изобретателите на модела Singleton, поставя под въпрос този модел в днешно време:

Най-добре е да избягвате Singletons.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранявайте множество имейл адреси в база данни за различни типове потребители

  2. Как да вмъкна данни от csv файл в mysql база данни

  3. Mysql заявка GROUP по и ORDER по

  4. Проблем със съхраняването на големи числа в mysql DB

  5. Как да импортирам CSV файл в MySQL таблица?