Terminologia per oggetti agnostici di pluralità

-1

C'è una categoria interessante di oggetti che ho visto in jQuery e altre librerie di attraversamento di alberi DOM.

Un modo tradizionale di mutare i nodi in un albero funzionerebbe in qualche modo in questo modo:

Elements matches = tree.findAll(condition);
for(Element e in matches) {
    if (condition2(e)) {
        e.setText("Hello");
    }
}

... o usando le funzioni del secondo ordine:

tree.findAll(condition)
    .filter(condition2)
    .forEach(e -> e.setText("Hello"));

In questi esempi, c'è una distinzione esplicita tra la raccolta e l'elemento. Tuttavia, il tipo di oggetto di cui sto parlando sfuma la linea comportandosi come se fossero una raccolta e elementi singoli e mutevoli.

tree.findAll(condition)
    .filter(condition2)
    .setText("Hello"); // Affects all matched nodes, if any

Questi oggetti sostanzialmente astraggono il concetto di pluralità. Se l'oggetto è vuoto, tutte le mutazioni sono vietate. Se ci sono più elementi, esso scorre automaticamente attraverso di loro ed esegue l'operazione appropriata su tutti loro. Le operazioni che hanno senso solo per i singoli elementi, come String s = matches.getText() tendono a, in qualche modo ben definito, scegliere un elemento specifico (come il primo) da chiamare.

La mia domanda è se esiste una terminologia appropriata per riferirsi a questi tipi di oggetti "plurality-agnostic", per mancanza di un termine migliore.

    
posta Smallhacker 11.05.2018 - 13:47
fonte

1 risposta

3

Queste sono semplicemente delle istanze del modello di design Composite , che fa sì che collezioni o strutture di cose simili si comportino come se fossero una cosa sola.

    
risposta data 11.05.2018 - 14:05
fonte

Leggi altre domande sui tag