architektura aplikace   otázka

C#, Architektura

Zdravím,

chtěl bych se zeptat, jaký máte názor na architekturu aplikace:

příklad:

-vlákno na pozadí, které načítá data z/do aplikace např. ze sériovky

-formulář se zobrazováním dat

-formulář s nastavováním dat

-... další formuláře pro práci s daty

-nějaké "globální" menu pro přístup k jednotlivým formům

Co je lepší - udělat MDI aplikaci, kde každý childForm bude řešit nějakou akci (zobrazovat, nastavovat, grafy, archivy,...) nebo udělat v jednom formu více Panelů, nebo ještě nějak jinak?

Když jsem zkoušel MDI aplikaci, tak jsem nevěděl jak nadefinovat data, aby k nim měly přístup všechny childFormy.

V druhém případě mi to zas příde dost nepřehledné všechno to "nacpat" do jednoho hlavího formu (je to docela velký).

díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

MDI uživatelské rozhraní se sice již moc nepoužívá, ale v některých případech je stále užitečné, ve vašem případě bych MDI použil. Předávat data do jednotlivých oken není žádný problém, můžete to udělat například jako povinný parametr konstruktoru nebo pomocí delegátů (na které se navěsí příslušné metody).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Přes ten konstruktor mně to taky napadlo, ale jak to udělat, když budu mít jeden childForm otevřený a data se budou obnovovat po nějakém časovém intervalu (např. 1s).

Kde vůbec vytvořit třídu s těmi daty? Předpokládám, že v kontejneru MDI formů.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dejme tomu, že kontejner pro data bude DataSet. Ten předáte v konstruktoru podřízenému oknu. Vzhledem k tomu, že předáváte pouze odkaz na tuto proměnnou (DataSet je referenční typ), tak jakékoliv změny provedené v tomto DataSetu se automaticky promítnou všude kde je na tento DataSet odkaz. Pokud použijete DataBinding pro provázání uživatelského rozhraní a dat, data se vám v podřízených oknech budou aktualizovat automaticky bez nutnosti napsání jediného řádku kódu.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback