Innanzi tutto grazie per la speigazione Santino...i pattern li ho un pò visti e capito a che servono in linee generali. Detto questo ti rignrazio per tutta la spiegazione, quello che hai detto però era abbastanza chiaro come ho detto io all'inizio
In teoria le due cose dovrebbero essere staccate ovvero la classe utente dovrebbe occuparsi dell'utente (e magari di comprare l'oggetto) e la classe Arma di manipolare l'oggetto arma...
Il problema di fondo è che dal momento che io di tutte quelle funzioni che hai citato tu non ne faccio uso nel gioco, ma utilizzo solo funzioni che fanno interagire l'utente con arma, come scritto nel codice nell'esempio della prima pagina, dove/come devo implementare le funzioni di interazione ? Perchè se io facessi come fai tu mi ritroverei una sola classe Utente di 10k righe di codice e mini classi che restituiscono semplicemente un una riga del DB (info sull'arma ad esempio). Ora anche grazie a tobler mi è venuta in mente una possibile soluzione:
Codice PHP:
//I metodi delle classi rimangono sempre gli stessi del primo messaggio
class Utente{}
abstract class ManageItem extends Utente{}
class ManageArma extends Item {}
class ManageArmatura extends Item {}
Che ne pensate ? Aggiungo un nuovo problema però...come dovrei gestire la classe Combat o Gilda o Messaggi ? In tutti questi casi caso l'utente A (padre) deve interagire con l'utente B. Ecco un'esempio:
Codice PHP:
class Fight extends Utente{
public function fight_individual($id);
public function fight_clan($id);
public function can_attack($id);
//ecc.
}
class Clan extends Utente {
public function add_friend($id);
public function remove_friend($id);
//ecc.
}
class Messaggi extends Utente {
public function sandMSG($id);
public function deleteMSG($id);
//ecc.
}
In questo caso però avrei necessita di gestire due istanze user padre...