Nuun est backé par guice, un composant d'injection très flexible avec d'excellentes API et SPI.
Nuun est un peu plus qu'un moteur d'injection. Son objectif est d'être un coeur logiciel incluant l'injection de dépendance via la JSR 330, la gestion du cycle de vie d'une application et surtout permettre une extensibilité sans friction.
HK2, Guice, Dagger sont des moteur d'injections et la configuration des injections sont à définir par le développeur à chaque fois.
Nuun va apporter une API et des nouveaux concepts qui permettent de définir des définitions d'injection dynamiques. Je m'explique :
Tu peux définir toutes les conventions que tu veux en les décrivant des classes java appelés des plugins. Ces plugins dialoguent avec le kernel et construisent dynamiquement la configuration des injections suivants tes propres regles.
Par exemple, tu peux décider que toutes les classes implémentant une interface suffixées par *BusinessRule sont injectés dans cette interface.
public interface ShippingBusinessRule {
// methodes
}
public class ColissimoShipping implements ShippingBusinessRule {
// implementation des methodes
}
à n'importe quelle endroit de ton application tu pourras te servir
@Path("/checkout")
public class CheckoutResource {
@Inject
ShippingBusinessRule businessRule;
public void processCommand () {
businessRule.process(command)
}
Nuun te permet de te créer ta boite à outils avec tes propres opinions et sans dépendre d'autres librairies. Les conventions ne sont pas forcément basé sur des annotations comme c est le cas dans cet exemple très simple. Des choses plus élaborés sont possibles, par exemple dans seedstack (qui utilise nuun comme coeur) nous avons implémentés un plugin de moteur complet de transactions, un framework pour faire du DDD, un moteur de validation et pleins d'autres choses, et tout ça sans xml et sans annotationporn voir ici http://www.seedstack.org.
[^] # Re: GO GO GO GO
Posté par Narmer . En réponse au journal The Go Programming Language. Évalué à 1.
Nuun est backé par guice, un composant d'injection très flexible avec d'excellentes API et SPI.
Nuun est un peu plus qu'un moteur d'injection. Son objectif est d'être un coeur logiciel incluant l'injection de dépendance via la JSR 330, la gestion du cycle de vie d'une application et surtout permettre une extensibilité sans friction.
HK2, Guice, Dagger sont des moteur d'injections et la configuration des injections sont à définir par le développeur à chaque fois.
Nuun va apporter une API et des nouveaux concepts qui permettent de définir des définitions d'injection dynamiques. Je m'explique :
Tu peux définir toutes les conventions que tu veux en les décrivant des classes java appelés des plugins. Ces plugins dialoguent avec le kernel et construisent dynamiquement la configuration des injections suivants tes propres regles.
Par exemple, tu peux décider que toutes les classes implémentant une interface suffixées par *BusinessRule sont injectés dans cette interface.
à n'importe quelle endroit de ton application tu pourras te servir
Nuun te permet de te créer ta boite à outils avec tes propres opinions et sans dépendre d'autres librairies. Les conventions ne sont pas forcément basé sur des annotations comme c est le cas dans cet exemple très simple. Des choses plus élaborés sont possibles, par exemple dans seedstack (qui utilise nuun comme coeur) nous avons implémentés un plugin de moteur complet de transactions, un framework pour faire du DDD, un moteur de validation et pleins d'autres choses, et tout ça sans xml et sans annotationporn voir ici http://www.seedstack.org.