Diskuze: Začátečnická
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.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Tohle je hodně učebnicový příklad. Vidíš pouze a jen to, co ten interface implementuje. Kdybys měl třeba interface, který má v sobě metodu, která ti vrátí soubor. Pak máš několik možností jak ho získat, stáhnout z internetu, najít ho na disku, vytvořit nějaký mock, ... Tyhle všechny věci by sis nadefinoval do vlastních tříd, které by implementovali ten interface. Pak by si měl nějakou fasádu (návrhový vzor), který by ti vrátil instanci podle podmínek, které jsou. Poprvé potřebuješ ten soubor a zároveň ti funguje internet? Stáhneš z netu. Poprvé potřebuješ ten soubor, ale nejde ti internet? Namockuješ ho. Už jsi někdy stahoval ten soubor? Najdeš ho na disku.
Tohle taky není moc šťastný případ, ale třeba pochytíš tu podstatu interfacu. Jednoduše komunikuješ skrz ten jeden kanál, i když ani nemusíš vědět co za konkrétní instanci v něm je. Jediné co jistě víš, že umí vše co ty potřebuješ.
Dává to možnost použít interface v případech, kde nepotřebuješ znát přesný typ proměnné. Dám příklad, představ si, že máš třídu, která dokáže říct objektům, kde se mají vykreslit, ale už je jí jedno, jaký objekt se vykreslí. Dejme tomu, že vykreslovatelné objekty budou obdelník a kruh. Kruh potřebuje vědět poloměr, zatímco obdelník potřebuje vědět svou výšku a šířku. Ale oba objekty jdou vykreslit, tedy budou mít společnou metodu vykresli(kde). V původní třídě (ta co udává, kam se mají objekty vykreslit), poté nepotřebuješ vědět, co se vykresluje, jen řekneš kam, ale zároveň ty objektu potřebuješ někam uložit, a společným jmenovatelem je právě ono rozhraní (interface).
interface IObjektyJdouciVykreslit
{
public void Vykresli(kde);
}
class Ctverec : IObjektyJdouciVykreslit
{
public int vyska;
public int sirka;
public void Vykresli(kde) { /* vykresleni obdelniku */ }
}
class Kruh : IObjektyJdouciVykreslit
{
public int polomer;
public void Vykresli(kde) { /* vykresleni kruhu */ }
}
class TridaKteraVykresluje
{
public IIObjektyJdouciVykreslit[] ObjektyKVykresleni;
public void VykresliVsechnyObjekty()
{
//tady je ta zásadní část, nepotřebuješ vědět co je to za objekt
//pouze jej chceš vykreslit
foreach(IObjektyJdouciVykreslit ObjektKVykresleni in ObjektyKVykresleni)
{
/* Zjisteni, kam se objekt vykresli */
ObjektKVykresleni.Vykresli(kde)
//jednou se muze vkyreslit obdelnik, podruhe kruh
//ale tuto tridu uz nezajima co se vykresli, pouze kde
}
}
}
Já myslím, že chápu podstatu Interfacu
, já jsem právě u toho ted
narazil u návrhového vzoru, který řešil různé verze uložených dat a
přes jeden interface se k různě uloženým datům dalo přistupovat. Tuším,
že to má jméno Iterator.
Celkově by vlastně šlo použít reflexe a dynamicky to přetypovávat?
Mě spíše prostě o to, že vlastně ten Objekt Interface si sebou nese všechny "data" té třídy a nejde se k nim dostat dokud se to nepřetypuje.
Vím, že tomu hodně rozumíš
, je dobré používat NamedPipe pro předávání inforamcí mezi
Service a aplikací ? Máš s tím zkušenosit?
Rozumím, děkuji za napsání, já se to snažím hodně používat, ono se
to dneska i chce, jenom mě zarazilo to, že to z toho nejde něják vydolovat
nebo jak bych to řekl
. Že v
debagu to vidíš, jak to má nějáké proměné a nemůžeš se na ně
odkázat, možná jsem tu otázku napsal blbě, ale zase když si to někdo
přečte, tak díky Tobě bude mít krásnou ukázku, jak fungují interface

Zobrazeno 5 zpráv z 5.