Net polozka v poli

Jiří Nesvacil nesvacil na posys.eu
Neděle Leden 21 17:14:41 CET 2018


V NET se má provést deserializace tj. rozebrání byteů pacektu do třídy, 
kde jsou již enum, stringy, čísla, případně další objekty. Následně při 
odpovědi serialiozvat do bytů.
Neboli na začátku to rozebrat a na konci složit. Mezi rozebráním a 
složením dělat své akce, které s byte, indexy, ....  vůbec nepracují. 
Může to znamenat, že objektů/tříd je víc a tak to dá práci na začátku 
správně popsat třídy, ale jen tak to vede k něčemu rozumnému. U těch 
tříd se vyplatí přepsat i metodu ToString(), aby jste v debuggeru viděl 
co zde je. I jednoduchý protokol může znamenat několik tříd. Uvnitř 
místo indexu se nebát předávat odkaz na objetky (nemusí být ani 
weakreference v tomto případě). Chce si to trošku rozmyslet.

Jirka


Dne 21.01.2018 v 16:39 Miroslav Draxal napsal(a):
>
> Dobrý den.
>
> Tak neříkám že jsem nějaký přeborník, ale net je taková platforma, kde 
> je toho tolik, že obyčejný člověk, který to nedělá jako profík, nemá 
> šanci obsáhnou vše (a profíci se podle mě jenom tak tváří). Takže 
> mezery budu mít, ale něco asi zvládám.
>
> To co se snažím vytvořit je upgrade mého vlastního komunikačního 
> protokolu. Celá struktura je vlastně popis celého komunikačního 
> protokolu (stručně řečeno). Ve struktuře jsou popsané metody, jak 
> přijmout a co udělat s paketem, jak ho poslat, složit, rozebrat, 
>  vytvářet události na konkrétní stavy podle paketů, které přišly , 
> reagovat na události, které se dějí v jiných částech programu nebo 
> události které vytvářejí jiné pakety v poli atd. Docela koukám, že ta 
> struktura se chová vlastně jako třída.
>
> Není to webová aplikace (ta je pouze jako nadstavba), je to normální 
> aplikace do PC.
>
> Součástí paketů vysílaných i přijímaných je i číslo paketu, které se 
> shoduje s číslem pozice v poli struktur.
>
> To zapouzdření je mi jasné. Holt to nechám tak jak to mám do teď při 
> inicializaci.
>
> PrivateBuffer(255) As_Paket_
>
> Fori AsUInt16 = 0 To255
>
> Buffer(i).CisloPaketu = i
>
> Next
>
> Přehlednosti mi právě vadí to (bude to nejspíš jenom v mé hlavě), že 
> pokud je paket vyřízen, tak
>
> Buffer(i) = Nothing
>
> mi zároveň vymaže i to CisloPaketu. Takže ho musím neustále obnovovat. 
> Pokud je CisloPaketu nastaveno na správnou hodnotu, pak se nedá
>
> If IsNothing(Buffer(i)) then
>
> Atd. Je toho víc. Tak mě právě napadlo to o zjišťování pozice prvku ze 
> vnitř pole.
>
> Jak někdo napsal. Tady by se šiklo, kdyby ten odpor právě něco věděl o 
> svém okolí.
>
> Díky za reakce. Tímto beru tuto záležitost za uzavřenou.
>
> Míra
>
> *From:*Hw-list [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of 
> *Ladislav Vaiz
> *Sent:* Saturday, January 20, 2018 10:41 PM
> *To:* HW-news
> *Subject:* Re: Net polozka v poli
>
> Musela by mít k dispozici ono pole a nalézt tam referenci na svou 
> strukturu. Což pří hodně prvcích může být pomalé. Mě se ale nelíbí 
> porušení základní myšlenky OOP - zapouzdření. Pole (obecně nějaká 
> kolekce) je jiná třída než vaše struktura (rozdíly mezi strukturou a 
> objektem nyní neuvažujme). Index je vlastně implementační detail té 
> kolekce a struktuře do něj nic není. Co, když strukturu vložím do 
> úplně jiné kolekce (List, Dictionary)? Tam žádný index není.
> Připadne mi, že sice píšete v .NET, ale přemýšlíte v jiném 
> programovacím jazyce.
> Spíše se zamyslete, co je skutečným klíčem pro vaši strukturu a zda 
> nepoužít třeba nějakou generickou kolekci. To může začátečníkovi znít 
> složitě, ale pracuje se s nimi opravdu jednoduše.
> L.
>
> Dne 20.1.2018 v 18:40 Miroslav Draxal napsal(a):
>
>     Mám pole struktur, ve struktuře metodu, která pracuje se
>     svým číslem prvku pole.
>
>     Má metoda nějakou šanci zjistit své číslo prvku v daném poli?
>
>     Podle toho, co jste psal, tak asi ne.
>
>     Takhle je to lépe popsáno? Asi se moc dobře nevyjadřuji.
>
>     Míra
>
>     *From:*Hw-list [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of
>     *Ladislav Vaiz
>     *Sent:* Saturday, January 20, 2018 4:03 PM
>     *To:* HW-news
>     *Subject:* Re: Net polozka v poli
>
>     Dobrý den,
>     kód nechápu a po převedení na c# také ne. Pokud byste vybral prvek
>     z pole a předal ho metodě, tak se přenese pouze hodnota a už
>     nemáte šanci získat index.
>     Předávat index mi nepřipadne jako úplně špatné řešení.
>     L.
>
>     Dne 20.1.2018 v 15:19 Miroslav Draxal napsal(a):
>
>         Dobrý den,
>
>         S dotazem na zdejší odborníky přes NET.
>
>         Existuje nějaká metoda, jak by mohla struktura v poli zjistit
>         svou aktuální pozici ze vnitř?
>
>         FriendStructurex
>
>         Friendneco AsString
>
>         PrivatePoziceVpoli AsInteger'=???
>
>         FriendSubUdelamNeco()
>
>         ' tady použiji proměnnou PoziceVPoli, která by měla nabývat
>         hodnoty pořadí v poly xx
>
>         EndSub
>
>         EndStructure
>
>         Privatexx(20) Asx
>
>         Díky za náměty
>
>         Ps. nerad bych to dělal takhle
>
>         FriendStructurex
>
>         Friendneco AsString
>
>         FriendSubUdelamNeco(PoziceVpoli)
>
>         ' tady použiji proměnnou PoziceVPoli, která by měla nabývat
>         hodnoty pořadí v poly xx
>
>         EndSub
>
>         EndStructure
>
>         Privatexx(20) Asx
>
>         PrivateSubxxx()
>
>         xx(10).UdelamNeco(10)
>
>         EndSub
>
>
>
>
>
>         _______________________________________________
>
>         HW-list mailing list  -  sponsored bywww.HW.cz <http://www.HW.cz>
>
>         Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>
>         http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
>     _______________________________________________
>
>     HW-list mailing list  -  sponsored bywww.HW.cz <http://www.HW.cz>
>
>     Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20180121/2fb566d7/attachment-0001.html>


Další informace o konferenci Hw-list