Quali sono le classi che producono un risultato, ma sono necessariamente classi a causa della complessità dell'attività?

1

Quale nome generico viene dato alle classi che racchiudono una raccolta di funzioni esoteriche che insieme eseguono un compito più coeso ma completamente autonomo utile all'applicazione più ampia, producendo un risultato calcolato dato un numero dei parametri di input?

Un esempio potrebbe essere una classe che calcola il percorso più breve / il percorso più efficiente quando visita i nodi su un piano euclideo, dato un insieme di poligoni di ostacolo. All'interno di questa classe ci potrebbero essere varie funzioni generiche per calcolare la distanza tra due punti, se due linee si intersecano o meno e se l'intersezione è concava o convessa rispetto a una data coordinata.

Descrivi esattamente il contesto in cui viene utilizzato il nome o la terminologia: questo termine verrà utilizzato durante la denominazione delle classi. Nella classe di esempio che ho menzionato sopra, il termine sostituirà "Foo" nel nome della classe MyCompany_Foo_ShortestPath .

Descrivi i criteri di accettazione: Il termine deve differenziarlo opportunamente da altri tipi di classi comuni, come cache (ad esempio MyCompany_Cache_Prices ), adattatori (ad esempio MyCompany_SQLDatabase_Adapter_MariaDB ), fornitori di dati (ad es. MyCompany_DataProvider_Products ), i controller (ad es. MyCompany_Controller_Users ) e i modelli (ad esempio MyCompany_Model_Employee ), mentre vanno anche in qualche modo a spiegare la natura della classe (funzionalità complessa incapsulata).

Quali nomi / termini hai pensato e scartato come inappropriato? Alcune idee che ho avuto sono state delle classi "funzionali" (in quanto si comportano come funzioni, ma sono state suddivise in funzioni) e "computazionale" (nel senso che calcolano le cose). Direi che esiste già un termine accettato per questo tipo di lezione.

    
posta Alex 06.10.2014 - 14:51
fonte

1 risposta

-2

Il termine più appropriato che ho visto per quel tipo di struttura è Method Object .

Detto questo, di solito uso la parola "Calcolatrice" nella denominazione delle classi Metodo Oggetto nel mio codice. "Calcolatrice" indica che la classe eseguirà un calcolo o eseguirà un algoritmo basato su input e potrebbe potenzialmente sopravvivere per essere usato ripetutamente. Il termine si differenzia anche da altre classi che contengono / trasportano dati o interfaccia con altri componenti. Hai persino usato lo stesso termine nel tuo esempio: "... una classe che calcola il percorso più breve ..."

    
risposta data 06.10.2014 - 15:28
fonte

Leggi altre domande sui tag