|
Miš umesto tastature
Stingray je pre nekoliko meseci kupio firmu Rogue Wave, još jednog proizvođača objektnih biblioteka, a rezultat tog spajanja je i Visual CASE, primer onoga što se može učiniti Stingray ekstenzijama MFC-a. Duh Objective Toolkit-a, biblioteke zadužene za proširenje korisničkog interfejsa je stalno prisutan, a verovatno su u izradi korišćene usluge i drugih biblioteka ovog proizvođača, recimo Objective Diagram-a i Objective Edit-a.
Trka između veličine diska i veličine razvojnih alata je, čini se, završena: čak i puna instalacija programa kao što je Visual C++ neće oduzeti previše prostora na današnjim diskovima. I pored toga, lepo je videti potpuno funkcionalan alat koji zajedno sa help fajlovima i primerima zauzima samo 11 MB. Prvi start pokazuje okruženje slično Developer Studio-u, radna površina u velikom prozoru sa desne strane, hijerarhijski pogled sa leve strane, a da biste shvatili za šta služe elementi korisničkog interfejsa, moramo se upoznati sa filozofijom Visual CASE-a.
Osnova rada u Visual CASE-u su UML (Unified Modeling Language) dijagrami, standardni način za definisanje klasa i odnosa među njima - razlika je samo u tome što je dijagram u Visual CASE-u "živ", ne predstavlja crtež na papiru već nešto na osnovu čega se generiše standardni C++ tekst programa. Visual CASE se dobro snalazi sa različitim tumačenjima reči "klasa" u jeziku C++ - dijagrami su podeljeni na dijagrame klasa, dijagrame struktura i dijagrame interfejsa. Šta opisuju dijagrami klasa i struktura, jasno je po imenu, dok za dijagrame interfejsa ne postoji pravi pandan u C++ jeziku.
To bi trebale da budu apstraktne klase koje definišu samo pure virtual funkcije, ali ne postoji nijedan mehanizam u jeziku C++ (kao, recimo, u Javi) koji bi programeru zabranio da u takvu klasu stavi običnu funkciju. Slično C++-u, Visual CASE ne ograničava pravljenje interfejsa bilo kakvim pravilima, sem napomene u help fajlovima da se bilo šta osim pure virtual funkcija ne preporučuje. Takođe, moguće je putem dijagrama definisati i različite tipove klasa (obične, šablonizovane...) i njihovu međusobnu interakciju (nasleđivanje, sadržavanje...). Postoje i dijagrami za mapiranje klasa (predstavljenih dijagramima) u cpp i h fajlove na disku; oni se kasnije prevode korišćenjem kompajlera.
|