Gott mál að læra meira, las mig til um þetta og það lítur út fyrir að maður sé að opna dyr til helvítis ef maður forritar þetta svona :)
Annað hvort á maður að útfæra allt synchronized, sem er þvílíkt leiðinlegt og gamaldags (en öruggt) og skemmit fyrir allri þráðahuxun og hægir á keyrslu, eða að tryggja að enginn annar sé að reyna að nota static klasann á meðan því þá fer allt í klessu :(
Bottomline-ið var samt það að í þessu tilfelli ætti að reyna að útfæra klasann non-static.
Svo fór minn að huxa, þá er ekki von á góðu, ég sé alveg góða möguleika til að nota þessa virkni. T.d. ef ég vil búa til static klasa til að breyta milli gjaldmiðla.
Þá sé ég fyrir mér static föll til að þurfa ekki að búa til eintak af klasanum, kalla bara í Currency.dollars(double isk) og fæ út dollara án nokkurra vandamála. Þá þarf static fallið væntanlega að kalla á static breytu sem er gengið, og gengið er breytanlegt svo ég vil getað breytt gildi þessarrar static breytu.
Því miður lítur út fyrir að ég þurfi þá að útfæra synchronization á klasann svo að ég geti uppfært gengið án þess að annar aðili geti verið að kalla á hann á meðan (því við búum hvorugur til eintak).
Þetta er greinilega mál sem ég þarf að rannsaka og testa, þetta gæti einfaldað marga hluti og sparað mér að búa alltaf til eintök af öllu.
massi
Það er oft þannig að menn eru að nota klasa sem nokkurs konar manager, t.d í þínu tilfelli CurrencyManager, sem væri þá gaur sem sæi um ýmislegar aðgerðir tengdum Currency. Það sem menn gera oft þá er að búa til eitt global tilvik af þeim klasa, sem síðan allir nota (væntanlega ekki hægt í java, en þetta er t.d gert í delphi þar sem ég vinn). Í þeim tilfellum væri það skemmtilegri lausn að hafa þetta bara static klasa í stað global tilviks af venjulegum klasa<br><br><b>Tilvitnun:</b><br><hr><i>“þegar fólk spyr spurninga eins og , hefur þú tekið MCSE námskeið eða Redhat námskeið ? , þá liggur það alveg ljóst að það er verið að gefa í skyn að það nám sem ég er búin með er ekki nóg”</i><br><hr> GunniS 2.okt 2003
0