class DbTools – statická třída, nebo služba?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
nanuqcz
Člen | 822
+
0
-

Ahoj, píšu si pro svoje vznikající CMS třídu DbTools, kde budou metody, které často používám v souvislosti s databází (kontrola struktury tabulek, přepočítání hodnot v DFS stromu apod.). Nemůžu se ale rozhodnout, jestli to mám pojmout jako třídu se statickýma metodama, nebo jako službu.

Nejdřív jsem myslel, že služba bude čistší řešení, když už používám DI. Přecijen tam nějak potřebuju na-injectovat připojení k DB, prefix tabulek apod. Ale pak jsem si všiml, že třída Nette\Utils\Strings (což je v principu stejná třída, jen pro práci s řetězci místo s databází) je statická (resp. její metody). A spoustu podobných tříd je statických.

Jde mi o čistotu návrhu, díky.

Filip Procházka
Moderator | 4668
+
0
-

Třída Strings neobsahuje připojení k databázi. Udělej to jako klasickou službu.