Jádro aplikace + UI/GUI – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jádro aplikace + UI/GUI – .NET – Fórum – Programujte.comJádro aplikace + UI/GUI – .NET – Fórum – Programujte.com

 

johny
~ Anonymní uživatel
85 příspěvků
5. 11. 2012   #1
-
0
-

Dobrý den, potřeboval bych poradit s aplikací. Mám (Visual Studio) solution Aplikace, v ní dva projekty - Jádro a UI, v budoucnu přidám GUI. Snažím se během psaní oddělit UI od jádra, ale nevím, jestli to dělám správně. Je postup, že UI nástavba využívá metody tříd a vnořených tříd Jádra (např. Jadro.PoleCisel.VypisSerazene()) správný? Jádro je statická třída. Nebo by bylo správnější to psát jinak? Díky za radu.

Nahlásit jako SPAM
IP: 188.175.67.–
johny
~ Anonymní uživatel
85 příspěvků
5. 11. 2012   #2
-
0
-

#1 johny
ještě dodám, že metoda Jadro.PoleCisel.VypisSerazene() vrací seřazené pole se kterým potom UI pracuje (-> zobrazí v konzoli na výstup).

Nahlásit jako SPAM
IP: 188.175.67.–
ingiraxo+15
Grafoman
6. 11. 2012   #3
-
0
-

takhle funkce je podle me nesmysl.. jednak na to máš hotový funkce na řazená pole a taky PoleCisel? to znamená, že pro každej typ (krom neznamych) bude vlastní seřazovací funkce?...

jinak ano, je to možný psát takto staticky všechno, ale v nekterých případech je lepší nestatická (pokud neslouží třeba jen jako vstup a výstup)

a to jádro,UI a GUI... no nevim... prostě bych si spíš udělal knihovnu, kam nasypu všechny pomocný funkce, třídy, co něco zkracujou (co je má normálně delší zápis) a hlavně budou užitečný a potom tu knihovnu normálně používej kdekoli (console, gui...)

klidně si tam udělej třeba namespace, kterej bude pouze pro GUI, aby sis oddělil funkce non-gui a gui

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Vaizo0
Stálý člen
6. 11. 2012   #4
-
0
-

Zdravím,

můžu se zeptat, jaké důvody tě vedou k rozdělení aplikace na jádro a prezentační vrstvu? Takové rozdělení je pochopitelně nadmíru bohulibá činnost, jen mě zajímá, čeho se snažíš dosáhnout  

Odkud získáváš ty data? Generuješ je v aplikaci nebo je třeba taháš z databáze nebo podobně?

Přeji hezký den.

Nahlásit jako SPAM
IP: 85.93.127.–
johny
~ Anonymní uživatel
85 příspěvků
6. 11. 2012   #5
-
0
-

ingiraxo: Samozřejmě, že metoda, která jsem uvedl, jako taková nemá smysl :) šlo o příklad. Namespaces mám rozdělené na jádro, ui a gui, nicméně to nesouvisí s dotazem, jestli je správný přístup že UI/GUI využívá přímo metod tříd (a to i třeba tříd ve třídách), nebo je lepší jiná forma - napadá mně např. zásada, kdy nejhlubší volání bude užití metody Jádro.Požadavek a ta už se bude starat o to, že se zavolá Jádro.PrvníTřída.DruháTřida.Metoda.

Vaizo: V mém případě není nejnutnější řešit takové věci, ale chci si na tom ujasnit několik věcí, co mi přijdou zásadní. A právě oddělit jádro od prezence mi přijde nanejvýš vhodné a přehledné u rozsáhlejších projektech. GUI se může měnit, jádro je dané a není důvod měnit, rozšiřovat. Data se kterýma jádro (říkejme logika) pracuje jsou částečně sama generována ze vstupu uživatele a taky využívá data z/do XML.

Nahlásit jako SPAM
IP: 158.194.147.–
ingiraxo+15
Grafoman
6. 11. 2012   #6
-
0
-

podle mě, řešíš celkem zbytečnou věc... at se budeš snažit sebevíc, tak UI bude stále úzce souviset s jádrem a to i GUI potom

v první řadě což už máš, je oddělit prostorem tyhle části.. to co máš v jádru se teda nemění.. nevim co přesně tam hodláš mít, takže ti neřeknu, jak to mít struktůrovaný

další je teda UI.. no fajn, ale nějak nerozumim jak chceš oddšlit UI od jádra jinak, než prostorem (případně knihovnou)

potom nerozumim proč by si měl ve třídě vnořenou další třídu (veřejnou), to se dělá primárně pro vnitřní použití... důležitý potom je, aby si měl dobře promyšleý rozhraní, který je základní kámen v komplexnejších app, protože právě přes něj probíhá veškerá komunikace

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Vaizo0
Stálý člen
6. 11. 2012   #7
-
0
-

Velmi se všem omlouvám, opět nerozumím dotazu/problému  

Zkusím ale nadhodit pár tipů:

  1. Vnořené třídy? Proč? Proč k tomu nevyužít namespacy? 
  2. Statické třídy? Zdá se mi to nebo chceš použít třídy ke strukturalizaci/zaškatulkování různých funkcí? Nemyslím si, že tohle není dobrý nápad. Zmínil bych dvě poučky: Simply Responsibility Principle - jedna třída, jeden účel/funkcionalita a KISS = Keep It Simply Stupid.
  3. Ano, větší aplikace je vhodné rozdělit do vrstev. Co je však důležité, aby každá vrstva měla jasně dáno, za co je zodpovědná a vazby mezi vrstvami byli ideálně lineární (v jedné řadě). Můžeš např. mít: 
  • Jádro s nástroji a pomocnými funkcemi a třídami, nezávislé na datech nebo logice aplikace
  • Data access vrstvu obsahující Repository, přistupující k datum a třídy reprezentující strukturu dat.
  • Prezenční vrstva, která pracuje s datovou vrstvou a slouží k prezentaci dat uživateli.

Trochu opakuji, co tu již řekl Ingiraxo, toho ale budu ignorovat, protože je první u každého příspěvku a to není fér!

Nahlásit jako SPAM
IP: 37.188.229.–
ingiraxo+15
Grafoman
6. 11. 2012   #8
-
0
-

#7 Vaizo
 

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 40 hostů

Podobná vlákna

GUI aplikace v C# — založil marpit

GUI — založil eximik

Gui — založil joudikkk

Ekiga GUI — založil xdazze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý