- Xiaomi 17 Ultra - jó az optikája
- 3D nyomtatással csökkentené a kijelző gyűrődését az Apple iPhone Foldnál
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Megérkezett a Samsung Galaxy A37 és Galaxy A57
- iPhone topik
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Amazfit Active 2 NFC - jó kör
- One mobilszolgáltatások
- Google Pixel topik
- MIUI / HyperOS topik
Ú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.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Xiaomi 17 Ultra - jó az optikája
- Formula-1
- Metal topik
- Gaming notebook topik
- 3D nyomtatással csökkentené a kijelző gyűrődését az Apple iPhone Foldnál
- AMD Navi Radeon™ RX 9xxx sorozat
- Milyen NAS-t vegyek?
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Kés topik
- További aktív témák...
- Tekkusai Singularity Founder's Edition glass Mousepad
- Magyar vilbil ! HP EliteBook 640 G9 14"iPS FHD, Iris Xe, i5-1235U, 16 / 256 NVMe SSD +SZLA +GARANCIA
- Intel Core i5 13400F + hűtő
- erős akkuval! LG GRAM 14Z90 - 14"iPS 1920x1200 99%sRGB, i5-1340P 16 / 512NVMe, IrisXe SZLA +GARANCIA
- Sony PlayStation DualSense Marathon Limited Edtition
- Nvidia Quadro M2000/ P2000/ P4000/ RTX 4000/ RTX 5000/ RTX A2000
- 27% - ÚJ ASUS ROG Strix 27" XG27AQDNG OLED Monitor! 2560x1440 / 360Hz / 0.03ms / G-Sync / FreeSync
- HIBÁTLAN iPhone 13 Pro Max 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4302
- HP Elitebook 830 G5,FHD,13.3",i5-8350U,8GB DDR4,256GB SSD,WIN11,IR KAMERA
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

