Komentáře uživatele Jakub
názor
Tak jsem se tedy taky zkušebně zaregistroval na jednom takovém portálu - a netrvalo dlouho než jsem si všiml, že několikrát vypršel čas na příhoz až do konce, dokonce včetně poslední tzv. nulové vteřiny a pak, jako zázrakem s přesností na tisícinu sekundy přišel další příhoz....během následujících několika dní a pár náhodných návštěvách se toto opakovalo ještě několikrát, osobně si tedy myslím, ŽE SE JEDNALO O AUTOMATICKÝ FALEŠNÝ PŘÍHOZ GENEROVANÝ SAMOTNÝM SYSTÉMEM, neboť pravděpodobnost opakovaného výskytu takového jevu je značně nízká (oproti pravděpodobnosti falešných příhozů tuplem)...
Re: Re: Re: Re: Re: jako ASP.NET MVC
Když to spojíte, budete muset za a) přepisovat repository při změně databázového systému a za b) by jste musel psát SQL dotazy pro všechny tabulky do jedné třídy! v podstatě jde o DB layer. Repository uchovává připojení k DB a podle názvu modelu dokáže najít tu třídu, co tahá věci z tabulky. Článek se pokusím najít.
Re: Re: Re: jako ASP.NET MVC
Ano, je to "jen" cache, ale určitě ne hloupá a dělá jen jednu věc, přesně podle zásad OOP. V tom ASP.NET když použijete Ling to SQL, což je podle mě nejpoužívanější, tak se vygeneruje třída, která odpovídá řádku tabulky (což je ten váš model), pak třída, která tahá věci z tabulky do toho modelu a pak třída repository, kterou jedinou voláte a která vrací právě jen holý model. Má to několik výhod, není to závislé na databázi (myslím tím, že můžete vyměnit SQL 2008 za MySQL a přepíšete jen třídu, která tahá věci z db), je to perfektně zapouzdřené a můžete použít kolik chcete db připojení - pokud ovšem repository třída nebude singleton - a neovlivní to váš model. Všechno měníte na jednom místě. Předávat nějaké metodě instanci připojení podlě mě stojí čas, místo a nemá to tam co dělat.
Re: jako ASP.NET MVC
ještě příklad:
$user = new UserModel();
$user->name = "Jakub";
repository::save($user);
Repository by měla asi být singleton třída, aby byla dostupná všude. Zdá se mi to jako nejčistší OOP řešení.
jako ASP.NET MVC
Mě jako čísté řešení příjde nemíchat připojení k databázi vůbec do modelu, ale udělat si speciální třídu, která se bude starat o transakce s DB (bude ty modely ukládat), myslím, že se tomu říká vzor Repository
položek 0-5 z 5 [1 / 1]

RSS