Ano, souhlasím s Vámi. Nevím, zda jsem se správně vyjádřil. Pokusím se to uvést na modelovém příkladu. Řekněme, že je třeba naprogramovat aplikaci, která mimo jiného musí umožnit na různým místech výběr obchodního partnera. Výběr bude probíhat dvěma možnými způsoby: 1) Přímým vstupem z klávesnice - zadáním jména obch. partnera. Pak je samozřejmě nutné provést validaci správnosti zadání (zadané jméno obchodního partnera musí existovat v seznamu (např. v datové tabulce). 2) Výběrem ze seznamu již evidovaných obch. partnerů. Tento výběr bude možný po kliknutí na tlačítko na konci textového pole. Po kliknutí se zobrazí dialog, ve kterém bude položkový seznam obchodních partnerů. Výběrem a potvrzením se tento obchodní partner (respektive jeho jméno) přenese do textového pole. Z výše uvedeného vyplývá, že jako ideální se jeví vytvořit třídu nebo komponentu, která v sobě bude zapouzdřovat veškerou funkčnost (tzn. validaci zadaného jména, zobrazení dialogu se seznamem navedených obch. partnerů umožňující výběr). Nyní přistoupíme k vytvoření samotného dialogu se seznamem partnerů. Nyní ale nastává zásadní problém, kam tento dialog uložit? Má být součástí komponenty a má v ní tedy být zapouzdřen? Nebo se má jednat o dialog, který bude uložen jako jeden z mnoha formulářů hlavní aplikace v projektu aplikace? Dialog by totiž mělo být možné volat i samostatně např. z hlavního menu aplikace. Pokud by totiž tento dialog byl součástí projektu aplikace, jak k němu přistupovat zevnitř třídy (komponenty)? Má se komponentě předávat pomocí nějaké vlastnosti vlastnosti? Nebo musí být skutečně fyzicky uložen v projektu aplikace i uvnitř komponenty? Jak se tato problematika v praxi řeší? Děkuji
|