Visualizzazione dei risultati da 1 a 3 su 3

Discussione: metodologia migliore

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    20

    metodologia migliore

    Ciao,
    ultimamente sto riscrivendo un giochino, e intendevo strutturarlo in modo più consono alla filosofia ad oggetti... vi spiego.
    Lato server ho tre classi che possiamo definire fondamentali, sono Giocatori, Fisica, e Input/Output.
    Queste tre classi devono comunicare tra loro, e i messaggi che si scambiano probabilmente influenzeranno il funzionamento su più di una classe, quindi ogni comunicazione deve essere tracciata.
    Per esempio, la richiesta di sparare arriva nella classe Input, viene avvisata la classe Giocatore dove viene controllata la validità dell'azione (giocatore connesso, arma in uso, proiettili sufficienti ecc...), se ok viene spedita alla classe Fisica che crea l'oggetto nel mondo fisico (e anche qui si possono generare errori). se la Fisica da l'ok, allora al giocatore viene tolto un proiettile, ecc... e a questo punto si ritorna da Input/Output che invia il messaggio al client.

    Attualmente c'è un sistema che funziona ma è implementato male (l'ho scritto alla buona) ma ora vorrei migliorare.

    Le idee di pensiero che son saltate fuori sono fondamentalmente 2:
    1. Ogni classe possiede le sue classi Azioni, le quali hanno un ID che si occupa di tracciare il messaggio, e un metodo run() che prende in input la classe priciplale da modificare (Giocatori, Fisica, Input/Output) e un'Azione di risposta(NULL se non c'è) e che si occuperanno delle modifiche, check, e creare le azioni da inviare alle altre classi.

    2. Un sistema a messaggi. Ogni messaggio viene interpretato all'interno delle classi principali (Giocatori, Fisica, Input/Output) che possiederanno un metodo per ogni messaggio (più o meno), senza giochi di riferimenti o altro

    In pratica, meglio il codice in metodi all'interno delle classi principali o comunque di loro classi "naturali" (ad esempio la classe Giocatore è una classe "naturale" della classe Giocatori) o contenerlo in classi ben distinte?


    Esistono anche 3 idee sul sistema di trasmissione dei messaggi:
    1. il classico sistema ad albero. Solo 2 classi "vicine" possono comunicare tra loro

    2. una classe "postino", possiede un riferimento di ogni classe principale, ed esse contengono un riferimento ad esso, così un messaggio può spostarsi con solo due passaggi.

    3. Una ibrida, una clase postino tra i vari container di oggetti fisici, giocatri e IO, ma poi saranno questi a smazzare il messaggio/azione ai loro figli

    Scusate il papiro ma è da un pò che son dietro a questo progetto e ci tengo venga bene.
    Secondo voi quali sono le metodologie migliori? e perchè? Ne conoscete altre?

    Un grosso grazie a chi mi vorrà aiutare

  2. #2
    Premetto che non mi è stato tutto chiaro, cmq per me dovresti creare una classe Proxy
    che gestisce le 3 classi.
    La classe Proxy deve gestire tutte le chiamate che ti arrivano, le smisti alla classe giusta e tieni traccia di tutte le comunicazioni.

    spero ti essere stato chiaro.
    /*no comment*/

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    20
    in pratica ho scoperto che intendevo sapere "inheritance vs composition"(non saprei come tradurle), per il sistema di messaggi userò la 3 con le carte un po' mescolare dal concetto di composition... grazie lo stesso per l'aiuto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.