Si fa riferimento a CDI (Context Dependency Injection) AKA IoC (Inversion of Control). Java JSF e Spring Framework sono alcuni esempi. ASP.NET MVC ha plugin come Unity. Javascript sta iniziando ad avere strutture organizzate usando librerie come RequireJS, che ha un comportamento di iniezione visto in molti moderni framework JS. Questo è per il cablaggio di applicazioni locali e remote.
Per un accoppiamento lento tra le reti, le aziende preferiscono utilizzare i servizi Web con SOAP, REST, AJAX o chiamate di metodi remoti regolari con RPC. In Java è possibile utilizzare JAX-WS o .NET WCF per creare servizi distribuiti. Quindi li allinei in un bus di servizio o "flusso di dati" da qualsiasi lingua o piattaforma come client. Ruby, Python, Scala, Java, C #, ... qualsiasi cosa.
L'accoppiamento lento consente di suddividere e superare i problemi e i servizi sono spesso il punto di ingresso a un database per estrarre i dati. Accelerando la scala abbiamo la bestia chiamata Message Queue. Quella strada porta a quadri di tipo enterprise e infrastruttura.
Se il tuo progetto non si basa su nessuna rete, tuttavia, ci sono linguaggi come Scala, Akka, NodeJS ecc. progettati per un flusso elevato di dati all'interno di una singola applicazione. Lavorano anche con alcune o tutte le tecnologie menzionate in precedenza per progetti complessi. Ad esempio, Scala può essere utilizzato con i servizi REST JAX-RS per estrarre una sorta di "dati globali" da un'origine dati e disporre di Spring per il cablaggio interno IoC. Esistono inoltre numerosi framework di esecuzione aziendale o del flusso di lavoro in strumenti JBoss, .NET e GUI come MuleESB. In fase di sviluppo, Eclipse e Netbeans consentono di trascinare i servizi in una schermata del diagramma di flusso visivo.
Infine, Java ha ancora i fagioli Singleton. Per regolare i metodi in fase di esecuzione, utilizzare i framework proxy o reflection. Ma onestamente, è così il 1999.
Se stai facendo tante chiamate per inviare a un utente un messaggio basato sul loro fuso orario, a mio parere, c'è probabilmente un modo in due passaggi per ottenere lo stesso effetto che l'utente vede. Ma sì, i quadri CDI sono indossati dalle lingue esistenti come un cappotto che dà loro tutti i poteri flessibili che hai citato. Mi piace definirlo subconscio del mio programma, occupandomi perfettamente del lavoro sporco.