Bonne nouvelle : y'a un framework d'Injection de dependance en .NET
Mauvaise nouvelles : ils l'ont appellé Unity. Entre Unity le moteur 3d, Unity l'interface graphique et ça, ça risque d'être compliqué pour trouver les bonnes infos.
Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09
Déconne pas, ils sont tellement gêné par le nom que ça reste toujours optionnel dans la plupart de la littérature M$.
.net se prend pour Java, les devs vont devoir faire leur tiercé et parier sur le survivant au moment de devoir faire un choix...
Au risque de paraitre condescendant, ça sert à quoi un framework d'injection de dépendance ?
Ça fait des années que je me pose cette question. À chaque fois que je jette un coup d'œil à ce genre de libs j'ai l'impression de voir un concept bidon être théorisé à l'extrême.
Je n'arrive pas à y voir ne serait-ce qu'un soupçon d'intérêt.
Faites moi changer d'avis ?
Rust fanboy
Je vais avoir du mal... Disons qu'avec un framework tout le monde s'y prendra de la même manière pour réaliser une injection de dépendance / inversion de contrôle, mais effectivement ce n'est pas un apport phénoménal. Et dans le framework il y a des implémentations pour un certain nombre de services qui bénéficient usuellement de ce pattern (Logging etc...)
Disons que l'injection de dépendance ne se limite pas à l'inversion de contrôle (qui elle est utile pour garder tes trucs propres (respect du single responsability etc), pour tester ton code, etc), comme il gère pour toi l'initialisation de tes types, il te permet de définir tes règles pour réaliser ce chargement (par exemple tu veux initialiser tout les types selon les interfaces qu'ils implémentent, ou en fonction de leur nom, ou encore "quand on demande une string répondant au doux nom de dbManagementConnString on lui fourni telle valeur"), de définir les cycles de vie des objects (par exemple tel type est un service et tu veux que ça soit avec un cycle de vie de type singleton, et tel autre type doit être instancié pour chaque utilisation, ...), combiné à de la découverte et du chargement dynamique ça permet notamment de changer une application sans recompiler le tout, t'a juste à packager les nouveaux binaires.
Je sais pas si je suis très clair.
Si jamais tu as le logiciel décomposé de la manière suivante :
lib 1 :
interface 1
implémentation 1 de l'interface 1
lib 2 :
implémentation 2 nécessitant interface 1
Sans DI tu va écrire quelque part "new implémentation 1", et la passer à implémentation 2 quand tu l'initiera.
Avec DI tu va juste écrire "resolve implémentation 2" et le framework ira tout chercher pour toi.
Alors c'est pas très utile pour les petites apps, mais sur les gros trucs, c'est assez pratique (t'a pas à écrire - et surtout maintenir - l'initialisation de toute la chaîne).
Oui mais ça fait quelques temps déjà. https://msdn.microsoft.com/library/ff647202.aspx
Après chaque DI container propose ses propres fonctionnalités. Y'a StructureMap aussi qui est pas mal utilisé.
Dernière modification par Dross ; 24/09/2017 à 20h21.
Intéressant ! Bon perso c'est juste pour mettre à jour mon CV et me relancer dans le métier si possible J'essai de me plonger dans les technos où il y a un peu de demandes.
Un des intérêts de laisser l'instanciation à un framework, c'est qu'il peut rajouter des couches automatiquement autour des objets qu'il gère.
Par exemple la gestion des transactions, de l'audit ou encore la sécurité.
Donc le framework d'injection est une base qui permet, en plus de simplifier l'architecture comme décrit plus haut, d'ajouter du comportement aux objets gérés par le framework. Le résultat est une application plus simple à maintenir et avec moins de code technique.
Pour une petite appli ce n'est pas forcément très utile, mais on se prend à refaire un mini framework au bout de quelques temps pour découpler les différents composants ... Au final il vaut mieux utiliser un framework existant...
Ce qu'il faut savoir, c'est qu'on ment beaucoup aux minmatars, surtout lorsqu'ils posent des questions du style: "t'es sûr que ça vole, ce truc ?" Cooking Momo, le 30/08/09
À ma connaissance la plupart des gens se tiennent au courant via Twitter.
Pour un mix entre actus généralistes et "technologies utilisées par les startups de Bay Area", https://www.reddit.com/r/programming/ est pas mal, bien que pour la qualité des commentaires c'est très souvent le yoyo.
Rust fanboy
http://www.i-programmer.info/ malgré le look 'vintage'. Il y a de bons articles de fond, plutôt orienté 'Computer Science' (par exemple Tetris On Game Of Life - A Great Achievement)
https://dzone.com/, mais c'est un peu la foire. C'est plus une sorte d’agrégateurs de blogs avec de la pub. Donc c'est bien souvent des repompes, des articles polémiques, ou des avis biaisés #cétaitmieuxavant
https://www.voxxed.com/, qui est pas mal varié et de qualité (émanation de Devoxx, à la base orienté Java, mais avec pas mal d'articles généralistes.
et la news letter de developper.com, mais je trouve que c'est souvent bas de gamme (aussi bien les articles, traduits à la va vite la plupart du temps, que les commentaires).
Il me manque une bonne référence francophone, mais j'ai pas encore trouvé
Par contre je n'utilise absolument pas twitter...
Dernière modification par William Vaurien ; 25/09/2017 à 14h09.
Rust fanboy
certes, mais en même temps je n'ai pas besoin d'être informé H24 des avancés dans ces domaines. Lire un article de fond de temps en temps me convient parfaitement.
Personne pour parler de news.ycombinator.com ?
Perso je trouve ça bien, les commentaires sont intéressant, par contre il faut faire gaffe parce que ça a tendance à être assez orienté.
Je manque de mots pour décrire à quel point je suis in love de mon C++ Primer. C'est mon nouveau livre de chevet maintenant, je découvre des fonctionnalités tous les jours dont pas mal de C++11.
C'est sympa les fofos, mais c'est quand-même bien d'avoir un bouquin à jour pour lister un pack de fonctionnalités de base. Par exemple, je viens juste de voir qu'une classe pouvait facilement déclarer une autre classe comme amie .
C'est tellement con mais ça manquait, et c'est même pas du C++11...
Bonjour
Je cherche un livre pour apprendre à programmer pour débutant de préférence en français. Je viens de commencer le cours pour apprendre à programmer en C sur OpenClass. Mais je suis également à la recherche d'un format papier pour compléter. Connaissant le sérieux des personnes qui fréquentent ce site, j'espère y trouver mon bonheur.
Merci d'avance
La bible du C : https://www.amazon.fr/langage-2e-%C3.../dp/2100715771, écrit par les mastodontes Ritchie et Kernighan
"Nobody exists on purpose. Nobody belongs anywhere. We're all going to die. Come watch TV." - Morty Smith
Merci.
Non pas obligatoirement en C mais c'est celui qui me paraissait le plus intéressant pour commencer. Mais je peux me tromper.
Je travaille en logistique depuis plus 10 ans et il semblerait que suite à une future restructuration, je doive envisager autre chose. Du coup, après y avoir penser plusieurs fois, j'envisage une formation en programmation mais je veux avoir quelques connaissances avant histoire de pas débarquer dans l'inconnu
Le C c'est pas très excitant pour un débutant, tu pourra difficilement faire un petit projet "pour toi" et tu manquera d'exercice amusant/utile pour t'entrainer. Au contraire de PHP par exemple, qui te permettrai de faire des ptits sites web, ou de Python qui te permettrai aussi de te faire des ptits outils pour ton PC.
Ça dépend aussi de la reconversion que tu aimerai faire, veux tu toujours travailler dans l'industrie (donc plutôt t'orienter vers des techno qui sont utilisée là bas, comme pour du code embarqué (du C du coup), ou pour faire des progiciels (Java, C# et C++)) ou plutôt changer de domaine complètement ?
go python: plus accessible, plus simple, plus à la mode, plein de tutos.
Et très bien pour faire ses premiers pas.