Percepita funzionalità.
funzioni "utilità" sono a differenza di gran parte delle OO funzionalità è destinato a bersaglio.
Pensa al caso con le collezioni, I/O, la matematica e quasi tutti di utilità.
Con OO in genere modellare il vostro dominio. Nessuna di queste cose si adatta perfettamente al tuo dominio: non è come se tu stessi scrivendo e dicessi "Oh, dobbiamo ordinare un nuovo hashtable, il nostro è pieno". Spesso le utility non si adattano.
Ci avviciniamo molto, ma non è ancora molto OO passare le collezioni (dove è la tua logica di business? Dove metti i metodi che manipolano la tua collezione e quell'altro piccolo pezzo di dati che stai sempre passando con esso?)
Stessa cosa con i numeri e la matematica. È piuttosto difficile avere Integer.sqrt() e Long.sqrt() e Float.sqrt() - semplicemente non ha senso, né "nuovo Math(). Sqrt()". Ci sono molte aree che non si adattano bene. Se stai cercando un modello matematico, OO potrebbe non essere la soluzione migliore. (Ho creato una classe "Complex" e "Matrix" piuttosto completa in Java e li ho resi abbastanza OO, ma facendoli davvero insegnarmi alcuni dei limiti di OO e Java - ho finito per "Usare" principalmente le classi di Groovy)
Non ho mai visto niente da nessuna parte VICINO a OO per modellare la logica aziendale, essere in grado di dimostrare le connessioni tra codice e gestire la relazione tra dati e codice.
Così abbiamo ripiegare su un modello diverso quando ha più senso per farlo.
fonte
2011-10-24 06:08:35
La domanda/risposta a cui ti sei collegato è ciò che stavo cercando. Grazie! Ho scoperto 'List' pochi minuti fa e quella classe funziona in un modo che mi aspettavo. La risposta arriva nel perché Array e List sono progettati in modo diverso. – dharmatech
Infatti, se uno degli amministratori vuole contrassegnare questo come un duplicato della domanda a cui ti sei collegato, sarebbe OK con me. – dharmatech