OOP - Modellazione di una chat

1

Durante la modellazione di una chat, un oggetto di chat dovrebbe ricevere messaggi o inviare un messaggio a un oggetto chat? Non sono sicuro che esista una risposta definitiva, ma forse qualcuno può indicare i vantaggi di uno sull'altro.

message.send(chat);

VS.

chat.sendMessage(message);

    
posta pkluz 06.09.2013 - 15:17
fonte

3 risposte

1

Per il modello, non ha molta importanza. Tuttavia, l'implementazione è quasi sempre più semplice in un modo rispetto all'altro. Se non puoi dirlo, prova in entrambi i modi e scegli quello più pulito. Sospetto che in questo caso l'implementazione più pulita sarebbe chat.sendMessage , perché per lo più si utilizzano le risorse chat , di cui message è solo un'altra dipendenza, ma non c'è davvero modo di sapere senza vedere il resto del codice.

    
risposta data 06.09.2013 - 16:01
fonte
1

Mi piace la seconda opzione.

Farei qualcosa di simile a questo:

public interface ChatRoom {
    public void putMessage(ChatMessage m);
    public void putMessageToParticularUser(ChatMessage m, int userID);
    public void addUser(ChatUser cu);
    ...
    ...
}
    
risposta data 06.09.2013 - 18:57
fonte
1

Che cosa sta provocando l'invio del messaggio? Se si tratta di un cliente specifico, perché no?

client.send (messaggio)

o

client.send (message, otherClient) per whisper

dove client sarebbe qualsiasi oggetto viene creato quando viene ricevuta una richiesta, potrebbe essere un contesto di messaggio o potrebbe essere un oggetto utente che identificherà l'utente, ecc.

se si basano gli oggetti attorno agli eventi, dovrebbe diventare più chiaro di quali oggetti si desidera essere 'controller' e quali oggetti si desidera siano oggetti dati

    
risposta data 06.09.2013 - 19:33
fonte

Leggi altre domande sui tag