Mathieu Desnouveaux

Les objets paresseux

Cette sketchnote résume la conférence 'Les Objets Paresseux' présentée par Nicolas Grekas lors de l'AFUP Lorraine. En haut à gauche, un sloth représente le concept de paresse, accompagné du titre de la conférence. À droite, une illustration montre un arbre avec une bulle de texte expliquant le lazy loading : 'Je chargerai le code quand j'en aurai besoin.' Les avantages du lazy loading sont listés : économie des ressources, adaptation aux requêtes à court terme, compatibilité avec les dépendances circulaires, et facilitation du reset d'objet. Quatre stratégies de lazy loading sont détaillées : 1. Initialisation : vérifier un marqueur pour charger les données à la demande, avec un exemple de code. 2. Value Holder : un objet intermédiaire qui charge et sert l'objet demandé, avec un exemple de code. 3. Virtual Proxies : un objet avec la même interface que l'objet final, créé à la demande, avec un exemple de code. 4. Ghost Object : un objet enfant vidé de ses propriétés, utilisé pour l'initialisation de l'objet, avec un exemple de code. En bas à droite, les native lazy objects sont décrits comme rapides, compatibles avec les systèmes de réflexion, et ajoutés dans le système de réflexion. La sketchnote est signée par @mdesnouveaux

La conférence "Les Objets Paresseux" présentée par Nicolas Grekas lors d'un meet up de l'AFUP Lorraine aborde les stratégies de lazy loading en programmation. Nicolas explique les avantages du lazy loading, comme l'économie de ressources, l'adaptation aux requêtes à court terme, la compatibilité avec les dépendances circulaires, et la facilitation du reset d'objets. Il décrit quatre stratégies de lazy loading : l'initialisation, le value holder, les virtual proxies, et les ghost objects. Chaque stratégie est illustrée avec des exemples et des cas d'usage spécifiques, comme l'utilisation de marqueurs pour charger des données à la demande ou l'implémentation d'objets intermédiaires pour différer le chargement. La conférence met également en avant les native lazy objects, qui sont rapides et compatibles avec les systèmes de réflexion.