- Házimozi belépő szinten
- Mégsem lettek annyira pénztárcabarátok az új Intel CPU-k
- Amazon Fire TV stick/box
- Azonnali informatikai kérdések órája
- Milyen monitort vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- LG LCD és LED TV-k
- Autós kamerák
- Bakelit, vinyl lemezjátszó
- Windows 11: miért nem vált mindenki?
Új hozzászólás Aktív témák
-
proci985
MODERÁTOR
válasz
szervizeszso
#8701
üzenetére
melyik része nem megy?
alapvetően én felosztanám a feladatot kisebb egységekre.
kell a szokásos GUI rész, ezt lehet generáltatni. ha nem akarod nagyon túlbonyolítani a struktúrális designt, akkor a GUI és controller class összevonható (én ezt csinálnám, ronda lesz és a cohesion része nem a legszebb, de scope szempontból egyszerűbb). Ezt a classt nevezzük Controllernek.
ha nem kell threaded Person, akkor a controller classba simán raksz egy simulation() funciót egy loopal, ami végighívja mindenkin a meccsnézést annyiszor, ahányan éppen vannak. én ezt úgy csinálnám, hogy fognék egy ArrayList<Married> marriedPairst, amiből a simulation() random kiválasztja a párokat egy temporáris (funkcion scope) tárolóba szintén Married typevel, aztán szépen végighívod a watchFootball() funkciót az összes elemen a temp tárolóban loopban, amit beraksz még egy loopba hogy elégszer nézzék a meccset.
A Marriedben le kell tárolnod egy Wife és egy Man típusú objectet. Ezeket a párokat célszerű még a Controller constructorjában létrehozni (a focicsapatokkal együtt). A Wife és a Mant lehetne inheritelni egy Personból, de mivel a Married eleve egy eléggé domain specifikus funkció amibe szvsz felesleges túlbonyolítás berakni egy generic containert, és mivel az nem kell, ahogy nézem más miatt sincs szükség ezzel a call/information struktúrával inheritre.
Aztán kellenek még a focicsapatok. Én lusta lennék és előre legenerálnám egy listába (Controller constructor, megint), az összes létező lehetséges meccset, majd ezt kalapként használva kihúznék egy elemet amit utána ki lehetne törölni a listából (ha csak egyszer játszhatnak). Meg ide még kell pár funkció.
Aztán kell még a GUIbe egy lista ami lehívja az összes Man és Wifet a Married párokból (lusta megoldás: simán a marriedPairs containerből a married.getWife().getAmikell() loopolva elvileg tökéletes lesz és akkor tényleg nem kell szórakoznod a Person inheritancevel ha ez nem kritikus, sőt a Serializable is max fileIO miatt kell majd), meg kell egy lista a lefutott meccsekkel és az eredményekkel, mondjuk ez meg lehet egy Match class eleme.
Ja félig angolul, de a kulcsszavakat ha nem érted úgy vissza tudod követni pl stackoverflowon vagy a ref manualban.
-
szervizeszso
csendes tag
válasz
szervizeszso
#8701
üzenetére
Ezen a linken elérhető a teljes program: http://www21.zippyshare.com/v/JnIe7pIE/file.html
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Signal üzenetküldő
- Autós topik
- Házimozi belépő szinten
- sziku69: Fűzzük össze a szavakat :)
- Autós topik látogatók beszélgetős, offolós topikja
- Luck Dragon: MárkaLánc
- Google Pixel topik
- Mégsem lettek annyira pénztárcabarátok az új Intel CPU-k
- Amazon Fire TV stick/box
- Azonnali informatikai kérdések órája
- További aktív témák...
- Bomba ár! Lenovo X13 G1I - i7-10G I 16GB I 512SSD I 13,3" FHD Touch I Cam I W11 I Gari!
- Bomba ár! Lenovo ThinkPad T480 - i7-8G I 16GB I 512SSD I 14" FHD I Cam I W11 I Garancia!
- Bomba ár! Lenovo ThinkPad T480 - i5-8G I 16GB I 256SSD I 14" FHD I Cam I W11 I Garancia!
- Bomba ár! Lenovo ThinkPad L14 G2i - i5-11G I 16GB I 256SSD I 14" FHD I Cam I W11 I Gari!
- 27% - MSI MPG A1000G PCIE5 / ATX 3.0 1000W 80 PLUS Gold Tápegység!
- Konzol felvásárlás!! Nintendo Switch
- AKCIÓ! Intel Core i7 4790K 4 mag 8 szál processzor garanciával hibátlan működéssel
- BESZÁMÍTÁS! Apple Macbook Pro 14 M1 16GB RAM 1TB SSD notebook garanciával hibátlan működéssel
- PCIe 5.0/4.0/3.0 Riser kábelek 90-os hajlított csatlakozóval (220mm/300mm)
- Inno3D RTX 4070 Ti // ÚJSZERŰ // SZÁMLA // GARANCIA //
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

