Diskuze: Jak to správně napsat
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, podíval bych se na nějaké návrhové vzory. Například Repository, UnitOfWork případně CQRS. Pokud chceš poradit lépe, dej tady ukázku kódu oné třídy, takto abstraktně se špatně radí.
Jinak k tvému dotazu. Třídu bych asi nechal pouze inicializovat připojení k DB (nevím, jestli používáš nějaký ORM jako EntityFramework, NHibernate, Dapper, nebo si to píšeš sám) a Uživatele bych posílal jako parametr do metody.
Jednoduše řečeno, potřebuje třída jméno a heslo ještě k něčemu jinému, nebo jsou potřeba pouze v konkrétní metodě?
Pokud s údaji pracuje celá třída, předával bych je konstruktorem. Tím zajistíš, že třída bude vždy ve validním stavu.
Když údaje předáš metodě jako argumenty, zase tím osvobodíš metodu od dalších závislostí a půjde jednoduše testovat nebo použít jiným způsobem. To bys pak ale mohl jako argument předávat i databázi a třída by trochu začala ztrácet smysl..
Ahoj, dovolím si reagovat.
To bys pak ale mohl jako argument předávat i databázi a třída by trochu začala ztrácet smysl..
například u ORM jako EntityFramework je právě smyslem třídy to, že všechny metody pracují v jednom contextu. Předávání každé třídě separátně mi nepříjde, jako dobré řešení, pokud k tomu není zvláštní důvod.
Ahoj, já jsem asi předtím špatně pochopil otázku Posílat uživatele jako parametr metody asi bude smysluplné řešení.
Zobrazeno 5 zpráv z 5.