Voglio usare le espressioni di calcolo all'interno dell'implementazione di una classe F # intesa per il consumo di C#. La classe di interoperabilità stessa è un singleton (un'istanza cablata nel contenitore) e viene utilizzata attraverso i thread (richieste Web).L'utilizzo contemporaneo della stessa istanza di una classe di builder causa effetti collaterali?
Il builder in sé consiste solo di metodi e non ha campi di supporto o stato.
dato che la segue è consuetudine in F #:
module A =
let private build = new SomeBuilder()
Questo significa che le espressioni multiple associate a un costruttore possono essere valutati contemporaneamente senza problemi?
beh ci sono poche informazioni per confermare questo o no - di solito le operazioni nel Builder sono pure (o pure abbastanza) per non fare mai la differenza (si dichiara quasi sempre un'istanza statica del Builder) - ma ovviamente puoi rovinare il grande – Carsten
@Carsten Posso confermare che i metodi sono stati implementati per essere puri, ma non posso confermare che il costruttore esegua queste operazioni in modo puro (dal momento che il costruttore lavora sotto il cofano è opaco per me) . – moarboilerplate