Naming per una classe che consuma un pattern iteratore [closed]

0

Il pattern iteratore è definito molto chiaramente. Come chiameresti il consumatore di un iteratore?

    
posta 19.02.2013 - 19:10
fonte

5 risposte

0

Il mio commento è stato di dire che chiamerei la classe un "aggregatore" e la sto mettendo qui come richiesto. Vorrei anche rispondere al commento suggerendo che i risultati non sono sempre aggregati, presumibilmente nel senso di sommare un qualche tipo di valore.

Ciò che intendo con "aggregato" è la definizione qualitativa del dizionario del termine: "prendere tutte le unità nel loro insieme". Ciò non significa necessariamente che ogni record abbia una proprietà intera e che il totale di quella proprietà sia l'aggregato. Piuttosto, considererei l'aggregato come l'interpretazione del quadro generale. Stai considerando una sequenza di queste cose come parte di qualche più grande gestalt (cioè "nel suo complesso", in qualsiasi senso significhi per te).

    
risposta data 19.02.2013 - 20:28
fonte
2

Un motivo per cui potresti dover chiedere è che il gruppo di quattro originale che descrive il modello iteratore si riferisce a il consumatore di un iteratore con il nome altamente distintivo di "client" (e in effetti in seguito non mostrerà il cliente come uno dei partecipanti al modello).

Non conosco alcun gergo specifico per il consumatore di un iteratore e suppongo che non sia stato definito alcun nome standard.

Mi viene in mente Iteratoror, ma non mi aspetto che accada.

    
risposta data 19.02.2013 - 19:18
fonte
1

L'hai appena detto - il consumatore di un iteratore (o il client). :) Questa è la lingua utilizzata in questo riferimento e altrove.

In accordo con la risposta di Erik, il modo di nominare il consumatore (IMO) è implicare l'iterazione con un termine come aggregate / sum / iterate o anche solo usare un plurale (ad esempio GetCustomers ). Tuttavia, descrivere il suo scopo commerciale è probabilmente più importante del chiamare il fatto che sta iterando (di nuovo IMO).

    
risposta data 19.02.2013 - 19:19
fonte
0

Iterable . Un Iterable usa un Iterator per iterare i suoi elementi. Quindi sta consumando l'iteratore.

    
risposta data 19.02.2013 - 19:41
fonte
0

Nonostante quel "aggregatore", "IteratorClient" & "IteratorConsumer" sembra corrispondere all'idea, suggerisco di "evidenziare" l'obiettivo della tua classe, come identificativo della tua classe.

.............................
..+-----------------------+..
..|     ArrayListClass    |..
..+------*----------------+..
.........*...................
..........*..................
...........*.................
............*................
............*................
..+----------*--------+......
..|                   /......
..| Has Iterators    /.......
..|                 / |......
..+----------------/--+......
.............................

Un'eccezione, che devo affrontare, è che hai una classe, senza iteratori, e fai una sottoclasse, con l'unico obiettivo di aggiungere iteratori, e non puoi o non vuoi aggiungere gli iteratori alla classe originale.

.............................
..+-----------------------+..
..|     TreeViewClass     |..
..+-----------*-----------+..
..............|..............
..............|..............
..............|..............
..............^..............
............./.\.............
............/...\............
.........../--*--\........... 
..............|..............
..............|..............
..............|..............
..+-----------*-----------+..
..| IterableTreeViewClass |..
..+-----------------------+..
.............................

Saluti

    
risposta data 19.02.2013 - 22:49
fonte

Leggi altre domande sui tag