[.NET] Les collections immuables sont maintenant disponibles en version finale !

Microsoft vient d’annoncer que les collections immuables (Immutable Collections) sont maintenant disponible en version finale via la galerie NuGet.

Pour rappel, les collections immuables permettent de créer des listes qui ne change jamais cela permet de :

  • Partager une collection en privé et publique en s’assurant qu’elle ne sera jamais modifié.
  • Permet de faire de la programmation fonctionnelle (c’est un univers où tout est immuable…)
  • Et cerise sur le gâteau, elles permettent d’être utilisées facilement dans les scénario multi-thread. Leur design fait qu’elles sont automatiquement thread-safe…

Au passage, cette bibliothèque n’est pas intégré dans le .NET Framework, afin que l’équipe de développement de Microsoft puisse nous produire des releases régulières… Et ainsi d’éviter de baver ou d’attendre comme un gamin à noël, les prochaines versions du .NET Framework.

Dans les semaines qui vont venir j’écrirai quelques articles consacrés à ces collections afin de vous expliquer leur utilité. En attendant, ne restez pas immuable, et téléchargez cette bibliothèque depuis la galerie NuGet.

[.NET] Le point sur les collections du .NET Framework 4.0 et 4.5

Après plusieurs interventions pour auditer la qualité du code chez différents clients, je me suis rendu compte (et vraiment surpris) que beaucoup de développeurs ne connaissaient pas toutes les collections disponibles du .NET Framework. Certains se limitent aux listes et aux tableaux, et d’autres ne savent réellement pas où et quand utiliser une Collection<T>, une List<T> ou un simple tableau…

Cet article à pour but de présenter très rapidement les différentes collections qui existent dans le .NET Framework et dans quelles cas les utiliser. Cet article explique aussi les nouvelles interfaces qui sont apparues dans le .NET Framework 4.5 afin de palier un problème de conception initial du .NET Framework. Cette article ne parlera pas des collections qui ne sont pas typées et que je considère moi-même obsolète dans le .NET Framework ainsi que les collections spécifiques à WPF/Silverlight.

(suite…)