Passer aux informations sur le produit
Modèles de conception Head First
Modèles de conception Head First
Description
Introduction au livre
Créez des logiciels orientés objet faciles à maintenir !
« Un seul exemplaire de « Head First Design Patterns (édition révisée) » suffit. »


Raison 1.
La série « Head First » regorge d'histoires captivantes et d'intrigues pleines d'esprit ! ​​Chaque motif raconte une histoire.
L'histoire se déroule dans un style conversationnel et naturel, comme si l'on parlait à un ami, avec une structure qui n'est pas figée et donc pas ennuyeuse.
Il contient des questions qui peuvent être résolues de différentes manières au sein de l'histoire et plus de 90 exercices pratiques.
En résolvant les problèmes un par un, comme si vous accomplissiez une quête de jeu, les choses que vous apprenez deviennent plus vivantes dans votre esprit.

Raison 2.
Découvrez 14 patrons de conception GoF essentiels et 9 principes de conception orientée objet en un seul ouvrage ! Ce livre se concentre sur 14 patrons de conception orientés objet GoF, dont les patrons Observateur, Adaptateur et MVC couramment utilisés en pratique. Il explique leurs définitions, quand et où les utiliser, pourquoi les utiliser et comment les appliquer immédiatement à vos conceptions.
De plus, il vous enseigne comment penser en termes de neuf principes et modèles de conception orientés objet, notamment les principes OCP et Hollywood, qui peuvent être largement appliqués à la programmation orientée objet.

Raison 3.
Une édition spéciale exclusivement destinée aux lecteurs coréens, mise à jour pour tenir compte des évolutions actuelles ! Le code d’exemple a été revu afin de garantir un fonctionnement optimal avec Java 8 et Java 16 et versions ultérieures, et des explications supplémentaires ainsi qu’une section questions-réponses ont été ajoutées.
De plus, pour commémorer la première révision en 16 ans, nous avons utilisé de nouvelles illustrations exclusivement destinées aux lecteurs coréens et organisé le livre d'une manière adaptée au lectorat coréen.
Vous pouvez apprendre les modèles de conception plus facilement qu'en lisant le texte original.
  • Vous pouvez consulter un aperçu du contenu du livre.
    Aperçu

indice
Ce livre a reçu de nombreux éloges.
Éloges des lecteurs
La série Head First a été accueillie avec des critiques dithyrambiques.
À propos de l'auteur
À propos du créateur de la série « Head First »
Note du traducteur

Chapitre 00 Introduction | Comment lire ce livre

__ Lecteurs de ce livre
__Pourquoi ce livre est devenu ainsi
__ Structure de ce livre
__Comment maîtriser son cerveau
__ Note
__ Réviseur technique
__ Remerciements

Chapitre 1 : Introduction aux modèles de conception et aux modèles stratégiques | Plongez dans l’univers des modèles de conception

SimUduck, jeu de simulation de canards
__ Différencier les jeux de simulation de canards
__ ATTENTION ! DES PROBLÈMES GRAVES SONT SURVENUS
__ Réflexions sur l'héritage
__ Conception de l'interface
__ Je réfléchis à la manière de résoudre ce problème
__ La vérité immuable du développement logiciel
__ Identifier clairement le problème
__ Séparez les parties qui changent de celles qui ne changent pas
Comment concevoir le comportement des canards
__ Comment implémenter le comportement du canard
__ Intégration du comportement des canards
__ Test de code Duck
__ Spécifier dynamiquement les actions
__ Analyse du comportement encapsulé
__ Comment fusionner deux classes
__ Premier modèle de conception : Modèle de stratégie
__ Découvrez le modèle de conception
__ Modèles et terminologie
__ Comment utiliser les modèles de conception
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Réponses aux exercices pratiques

Chapitre 2 : Le modèle de l’observateur | Communiquer avec les objets

__ Découvrez les applications de surveillance météorologique
__ Examen de la classe WeatherData
__ Objectifs de mise en œuvre
__ Ajouter le code pour la station météo
Examinons maintenant le code supplémentaire qui suit ce principe.
__ Comprendre le modèle de l'observateur
__ Fonctionnement du modèle observateur
__ Définition du modèle d'observateur
__ Structure du modèle d'observateur
__Le pouvoir du couplage lâche
__ Conception d'une station météorologique
Mise en place d'une station météorologique
Implémentation de l'interface __ Subject
__Implémentation des éléments d'affichage
__ Test de station météorologique
__ Comprendre le modèle observateur dans la bibliothèque
__Créer des applications qui changent la vie
__ Modifiez le code intégralement
__ Test du code mis à jour de la station météo
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Réponses aux exercices pratiques

Chapitre 3 : Motifs décoratifs | Décoration d’objets

__ Starbucks, une chaîne de cafés géante
Jetez un œil à OCP
__ Examen du motif du décorateur
__ Application du modèle de décorateur au système de commande
Définition du motif décorateur
__ Cours de décoration de boissons
__ Entraînez-vous à appliquer le motif décoratif
__ Création d'un code pour un système de commande de café
Mise en œuvre du code des boissons
__Implémentation du code additif
__ Test du code du système de commande de café
Exemple d'application de décorateur : E/S Java
Les classes java.io et le modèle décorateur
__ Création d'un décorateur d'E/S Java
__ Test du décorateur d'E/S Java nouvellement créé
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Réponses aux exercices pratiques

Chapitre 4 : Le modèle Factory | Cuisiner du pain orienté objet

__Créer un code de pizza de pointe
__ Ajouter un code de pizza
__ Encapsulation de la partie création d'objet
__ Créer une fabrique de création d'objets
__ Modifier le code client
__ Définition de « usine simple »
__ Création de diverses usines
__ Élaboration d'un cadre pour une pizzeria
__ Découvrez quelles sous-classes décident
__ Création d'une sous-classe de style pizza
__Déclarer une méthode de fabrique
Commander une pizza avec la méthode de l'usine à pizza
__ Créer un cours de pizza
Tests de code de pointe pour les pizzas
__ Un aperçu du modèle de méthode de fabrique
__ Comprendre la hiérarchie des classes parallèles
__ Définition du modèle de méthode de fabrique
__ Examiner les dépendances des objets
Principe d'inversion de dépendance
__ Application du principe d'inversion de dépendance
__ Inversez votre façon de penser
Comment suivre le principe d'inversion des dépendances
__ Apprenez-en davantage sur les types de matières premières
__ Regrouper par groupe de matières premières
__ Création d'une usine de matières premières
__ Création d'une usine de matières premières à New York
__ Changer la classe Pizza
__Utilisez la bonne usine de matériaux
__ En repensant à ce qui a changé
__ Commandez une autre pizza avec un nouveau code
__ Définition du modèle de fabrique abstrait
Modèle de méthode de fabrique et modèle de fabrique abstraite
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Réponses aux exercices pratiques

Chapitre 5 : Le modèle Singleton | Créer un objet unique et spécial

__ Apprenez à connaître Little Singleton
__ Comment implémenter le modèle singleton classique
__ Examen du code de la chaudière à chocolat
__ Définition du modèle Singleton
__Hershey ! Il y a un problème avec la chaudière à chocolat.
__ Examen des problèmes liés au multithreading
Résolution des problèmes liés au multithreading
__ Résoudre plus efficacement les problèmes de multithreading
__Choisir la bonne façon de résoudre le problème
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Réponses aux exercices pratiques

Chapitre 6 : Modèles de commandes | Encapsulation des appels

__ Télécommande universelle IoT
__ Explorez la classe Partenaire
__ Présentation du modèle de commande
__ Un examen plus approfondi du processus de commande de nourriture
__ Rôles des personnages dans le restaurant Object Village
Modèle de restaurant et de commande du village d'objets
__ Création du premier objet de commande
__ Utilisation des objets de commande
__ Définition du modèle de commande
__ Examen du diagramme de classes du modèle de commande
Attribution de commandes aux emplacements __
__ Créer un code de télécommande
__ Création d'une classe de commande
__ Test de télécommande
__ Création de la documentation API
__ Ajouter une fonction d'annulation
__ Tester la fonction d'annulation de tâche
__ Comment utiliser l'état lors de l'implémentation d'une fonction d'annulation
__ Ajouter une fonction d'annulation à la commande du ventilateur
__ Créer un code de test de ventilateur
__ Test du code du ventilateur
__ Traitement simultané de plusieurs actions
Utilisation de la commande macro __
__Utilisation du modèle de commande
__ Utiliser davantage le modèle de commande
__ Application pratique ! Modèles de commandes
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Réponses aux exercices pratiques

Chapitre 7 : Modèles d’adaptateurs et de façades | Adaptation

__ Jetez un œil à l'adaptateur
__ Comprendre les adaptateurs orientés objet
__ Apprenez à utiliser l'adaptateur
__ Test de l'adaptateur Duck
__ Comprendre le modèle d'adaptateur
__ Définition du modèle d'adaptateur
__ Adaptateurs d'objets et adaptateurs de classes
Application pratique ! Modèle d’adaptateur
__ Adaptation de l'énumération à l'itérateur
__ Aperçu du motif de façade
__ Aménager un home cinéma
__ Regarder des films de manière compliquée
__ Découvrez comment fonctionne Facade
__ Création d'une façade de cinéma maison
__ Création d'une interface simplifiée
Regardez des films facilement
__ Définition du modèle de façade
Principe du moindre savoir
__ Influencer d'autres objets sans se faire d'amis
__ Appeler uniquement des amis proches
Modèle de façade et principe du moindre savoir
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Réponses aux exercices pratiques

Chapitre 8 : Modèle de conception Template Method | Encapsulation des algorithmes

__ Préparer du café et du thé
__ Création de cours sur le café et le thé
__ Résumé des cours sur le café et le thé
__ Un aperçu de la méthode d'abstraction
Abstraction de la méthode __prepareRecipe()
__ Retour sur le processus de préparation du café et du thé
__ Découvrez le modèle de méthode de modèle
__ Découvrez les avantages du modèle de méthode de modèle
__ Définition du modèle de méthode de modèle
__ Comprendre les hooks dans les méthodes de modèle
Utilisation des crochets __
__ Test de code Hook
Principe d'Hollywood
Principes et modèle de la méthode Hollywood
__ Comprendre le modèle de méthode de modèle dans une API Java
__ Comment trier avec des méthodes de modèle
__ Trier les canards
__Comparer la taille des canards
__ Test de tri Duck
__ Génération de graphiques à l'aide de méthodes de modèle
__ Créez votre propre liste avec AbstractList
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Réponses aux exercices pratiques

Chapitre 9 : Modèles d’itération et composites | Bien gérer les collections

Dernière minute ! Fusion du restaurant Object Village et de la crêperie
__ Parcourir les éléments du menu
__ Comparaison des implémentations de menus de Ru et Mel
Mise en œuvre des exigences de qualification : Première tentative
__ Répétition enveloppante
__ Comprendre le modèle d'itérateur
__ Ajout d'un itérateur au menu du restaurant Object Village
__ Utilisation des itérateurs dans le menu du restaurant Object Village
__ Application d'un itérateur au code des employés
__ Test du code employé
__ Comprendre les caractéristiques du modèle itérateur
__ Réexamen du Code intégré de la restauration
__ Améliorer l'interface
__ Application de java.util.Iterator
__ Consultez le code de restaurant intégré modifié
__ Définition du modèle d'itérateur
__ Comprendre la structure du modèle d'itérateur
Principe du rôle unique
__ Comprendre l'interface Iterable
__ Découvrez la boucle for améliorée
__ Précautions lors de l'utilisation de la boucle for améliorée
__ Consultez le menu du café Object Village
__ Correction du code du menu du café Object Village
__ Ajout d'un menu de café au code employé
Tests intégrés du code du restaurant avec ajout d'un menu de café
__Itérateurs et collections
__Améliorer le code de conduite des employés
__ Préparation à la refactorisation
__ Définition du motif composite
__Conception de menus avec le modèle composite
__Implémentation du composant de menu
Mise en œuvre de l'élément de menu __
__ Mise en œuvre du menu
__ Application des composites au code employé
__ Test du code du menu
__ Résultats du test du code du menu
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Réponses aux exercices pratiques

Chapitre 10 : Modèles d’état | Changement d’état des objets

Machine à loterie ultramoderne
Apprenez les bases des automates à états finis
__ Création d'un code machine Gacha
__ Tester le code de la machine à loterie
Avis ! Demande de modification du code de la machine à loterie
__ Demandes de consultation
Concevoir un nouveau design
__ Définition de l'interface et de la classe State
__ Implémentation de la classe État
__ Modifier le code de la machine à loterie
__ Jetez un œil au code complet de la machine à loterie
__Implémentation d'une autre classe d'état
__ Retour sur la structure de la machine gacha
Définition du modèle d'état __
__ Ajouter une fonctionnalité de bonus pour les gains de noyaux
Essayez la version démo
__ Vérifier la normalité
__ Essayez d'ajouter une fonction de remplissage
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Réponses aux exercices pratiques

Chapitre 11 : Modèle de proxy | Contrôle de l’accès aux objets

__ Création du code de surveillance
__ Test de fonction de surveillance
__ Le rôle du proxy distant
__ Ajouter un proxy distant à votre code de surveillance
Principes de base des méthodes distantes
__ Comprendre le processus d'appel de méthode
__ Aperçu de Java RMI
__ Création d'un service distant
Étape 1 : Création d'une interface distante
__ Étape 2 : Créer une classe d’implémentation de service
Étape 3 : Exécuter rmiregistry
Étape 4 : Exécution du service à distance
__ Examinez le code requis pour le serveur
__ Examen du code client
__ Envisager un proxy distant pour la machine gacha
__ Conversion de la classe GumballMachine en un service distant
__ Enregistrement du registre RMI
__ Correction du code client de GumballMonitor
__ Test de nouvelles fonctionnalités de surveillance
__ Créer une version de démonstration
Essayez la version démo
__ Définition du modèle de proxy
__Comparaison des proxys distants et des proxys virtuels
__ Créer une visionneuse de pochettes d'album
__ Concevoir un proxy virtuel pour les pochettes d'albums
__ Création du code ImageProxy
__ Test de visionneuse de pochettes d'album
__ Créer un proxy de protection
__ Service de rencontres Object Village
__ Code d'interface de création de personne
__ Création d'un proxy dynamique pour l'interface Personne
__ Étape 1 : Création d'un gestionnaire d'invocation
Étape 2 : Créer un code de génération de proxy dynamique
__ Test du code du service de rencontres
Résultats du test du code du service de rencontres
__ La vraie vie ! À la découverte du zoo par procuration
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Réponses aux exercices pratiques
Code préparé : Code du visualiseur de couvertures d’album

Chapitre 12 : Motifs composés | Créer des motifs en combinant des motifs

__ Mélange de motifs
__ Application de différents modèles au jeu de simulation de canard
__ En repensant à ce qui a changé
__ Analyse du diagramme de classes du jeu de simulation de canard
__ Découvrez le roi des motifs composites
__ Comprendre le modèle Modèle-Vue-Contrôleur
__En savoir plus sur le modèle MVC (Modèle-Vue-Contrôleur)
__ Découvrez les modèles utilisés dans le modèle-vue-contrôleur
__ Création d'un outil de contrôle BPM avec Modèle-Vue-Contrôleur
Vue combinée du modèle, de la vue et du contrôleur
__ Création de modèles, de vues et de contrôleurs
__ Créer un modèle
__ En savoir plus sur la vue
__ Créer une vue
__ Créer un contrôleur
__ Jetez un œil au code du contrôleur
Fusionner le code du modèle, de la vue et du contrôleur
__Apprenez-en davantage sur le modèle de stratégie dans MVC
__ Adaptation du modèle de moniteur de fréquence cardiaque
__ Construction d'un contrôleur de moniteur de fréquence cardiaque
__ Test du code du moniteur de fréquence cardiaque
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Réponses aux exercices pratiques
__ Code préparé : Code de l’outil de contrôle BPM

Chapitre 13 : Modèles de conception pratiques | Vivre heureux avec les modèles

__ Définition des modèles de conception
__ Un examen plus approfondi de la définition des modèles de conception
__ Découvrir de nouveaux modèles de conception
__ Classification des modèles de conception
__ Découvrez les catégories de modèles de conception
Penser selon des schémas __
__ Attitude envers les modèles
__Se rappeler le pouvoir des termes techniques
__ Un voyage au village des objets avec les Quatre
__ Trouvez le modèle
__ Dans le monde réel ! À la découverte du zoo des motifs
__ Détruire les anti-modèles maléfiques
__ Les outils qui devraient figurer dans votre boîte à outils de conception
__ Quitter le village des objets
__ Réponses aux exercices pratiques

Chapitre 14 : Autres motifs | Apprendre rapidement différents motifs

__ Modèle de pont
Modèle de constructeur __
Modèle de chaîne de responsabilité
Modèle de poids mouche
Modèle d'interprète
Modèle de médiateur
Modèle __ Memento
Modèle de prototype
Modèle de visiteur

Recherche

Image détaillée
Image détaillée 1

Avis de l'éditeur
Vous devez lire ce livre !

Les lancements de logiciels sont la perfection incarnée ! « Hein ? J'ai voulu corriger le code et c'était un vrai désastre… »
→ Développeur junior (Java) qui ne pense qu'à la maintenance et aux larmes

• Les compétences en programmation sont un atout majeur ! « Hein ? C'est donc comme ça qu'on applique le modèle de conception Factory Method ? »
→ Développeurs Java seniors souhaitant revoir les modèles de conception

• Des compétences en langages de programmation perfectionnées par l'auto-apprentissage ! « Hein ? Mais qu'est-ce qu'un modèle ? »
→ Développeurs en herbe curieux des méthodes de conception logicielle dans le domaine du développement.

Pendant longtemps, à travers les carrières et les générations
Aider les développeurs orientés objet à progresser
Le grand retour du manuel de patrons de conception !


* Numéro 1 incontesté des livres de patrons de conception depuis 2005
* Le classique et la bible des modèles de conception

Les modèles de conception sont des méthodes de résolution de problèmes basées sur l'expérience des personnes âgées.

Depuis l'Antiquité, la conception préliminaire a toujours été importante lors de la construction d'un bâtiment.
Lorsqu'un problème ou une modification survient, la reconstruction par tâtonnements est longue et coûteuse.
Grâce à leurs propres essais et erreurs, les gens ont découvert des schémas récurrents dans les problèmes qui surviennent dans des situations spécifiques et ont consigné les solutions pour éviter de répéter les mêmes erreurs.
On appelle cela un « modèle de conception ».
Les modèles de conception, qui trouvent leur origine dans l'architecture, peuvent tout aussi bien s'appliquer à la conception logicielle, dans la mesure où nous construisons des logiciels avec du code.
Puisqu'un problème rencontré par une personne n'est pas un problème rencontré uniquement par une autre, nous pouvons rechercher l'efficacité dans la conception de logiciels en utilisant les connaissances des personnes plus expérimentées qui ont déjà rencontré ce même problème.

Les modèles de conception permettent de gagner du temps et des efforts.

Il n'existe aucun logiciel parfait au monde.
Parce que la technologie et les besoins des utilisateurs évoluent avec le temps.
Lors de la programmation, il faut toujours se dire : « Je devrai réparer ce logiciel un jour. »
Si vous concevez votre logiciel de manière à ce que les corrections apportées en amont aient un impact minimal sur votre code, vous pouvez consacrer plus de temps à la création d'un meilleur logiciel et moins de temps à la programmation.
L'utilité des modèles de conception ne se limite pas à la simple « réutilisation » du code de nos prédécesseurs.
Elle peut également s'appliquer à la direction d'équipes, à l'exécution de projets et à la résolution de problèmes pouvant survenir sous diverses formes.
Si vous maîtrisez les « modèles de conception », vous pouvez suggérer efficacement la solution adaptée à chaque situation et communiquer efficacement en une seule phrase : « Utilisons le modèle Observateur ! » au lieu d’avoir à expliquer longuement : « Résolvons ce problème en créant une classe de diffusion qui peut suivre tous les objets qui l’écoutent, envoyer un message à chaque écouteur à chaque nouvelle donnée, et les écouteurs peuvent rejoindre ou quitter la liste des écouteurs à tout moment ! »


Les modèles de conception sont des outils qui doivent être utilisés de manière appropriée à l'usage auquel ils sont destinés.

Mais les modèles de conception ne sont pas une solution miracle.
De même qu'on ne brûlerait pas une maison pour attraper une puce, on ne devrait pas appliquer un modèle à un code quelconque.
Appliquer des modèles à des programmes comme « Hello, World! » ne fera que complexifier le code, le rendre plus difficile à comprendre pour les autres et plus difficile à maintenir, ce qui mènera finalement à un désastre.
Les modèles de conception sont simplement des outils permettant de créer de bons logiciels.
Chaque outil est puissant lorsqu'il est utilisé correctement aux fins prévues.
En réalité, apprendre pour quel code utiliser des modèles de conception demande beaucoup de temps et d'efforts.
Parce qu'il est indispensable de bien comprendre les modèles de conception pour savoir quel code est du code spaghetti.
Et si un livre expliquait les principes fondamentaux des patrons de conception de manière ludique et captivante ? Apprendre les patrons de conception rapidement et facilement ne vous enchanterait-il pas ? Ce livre est à portée de main.
Parce que 『Head First Design Patterns (Revised Edition)』 est juste ici.


Que contient l'ouvrage Head First Design Patterns (édition révisée) ?

Depuis sa publication en 2005, « Head First Design Patterns » a conservé sa position de best-seller incontesté numéro un dans le domaine des modèles de conception pendant 17 ans.
La raison pour laquelle il est apprécié par de nombreux développeurs de tous horizons et de toutes générations est qu'il ne couvre que le « cœur des modèles de conception GoF ».


* Quand et pourquoi utiliser les 14 modèles de base GoF !
* Comment l'appliquer immédiatement à vos créations !
* Situations dans lesquelles vous ne devriez pas l'utiliser !
* Principes de conception orientés objet qui constituent la base des modèles !
* Définitions et utilisation de 9 autres modèles qu'il est bon de connaître !

Nouveautés de Head First Design Patterns (Édition révisée)

* Code d'exemple modifié pour fonctionner correctement sur Java 8, qui est couramment utilisé, et sur la dernière version, Java 16 ou supérieure.
*Ajout d'explications supplémentaires et de questions-réponses
* Nouvelles illustrations et mise en page adaptée au public coréen, exclusivement pour les lecteurs coréens

* Pour commémorer la première révision en 16 ans, nous avons créé une nouvelle édition coréenne afin de rendre l'apprentissage des modèles de conception plus facile que la première édition.

Caractéristiques de la série Head First

Et il est vraiment important d'apprendre les modèles de conception d'une manière qui ne soit pas ennuyeuse.
Si vous avez lu ne serait-ce qu'un seul livre de la série Head First, vous aurez probablement une idée de ce dont parle celui-ci.
Sa structure est telle qu'« il y a beaucoup à voir et que cela vous imprègne immédiatement », de sorte que votre cerveau réagit en premier.


* Un style conversationnel décontracté, comme si l'on parlait à un ami !
* Une composition pleine d'esprit et difficile à prévoir !
* Plus de 90 exercices stimulants !
* Une histoire intéressante qui peut être envisagée sous de nombreux angles !
* Un exemple de code simple que vous pouvez suivre rapidement !

Il explique également comment éviter la dépendance aux motifs et comment découvrir des modèles de conception, ce qui sera utile aux futurs créateurs de motifs.

Télécharger des exemples de fichiers

→ https://www.hanbit.co.kr/src/10526
→ https://wickedlysmart.com/head-first-design-patterns

Livres connexes

Ceci est Java (Hanbit Media, 2015)
Étudiez Java en autodidacte (Hanbit Media, 2019)
Ceci est du C# (Hanbit Media, 2021)
Modèles de conception : faciles à apprendre et à utiliser immédiatement (Hanbit Media, 2020)
Modèles de conception pour l'apprentissage automatique (Hanbit Media, 2021)
SPÉCIFICATIONS DES PRODUITS
- Date de publication : 16 mars 2022
- Nombre de pages, poids, dimensions : 656 pages | 183 × 235 × 35 mm
- ISBN13 : 9791162245262
- ISBN10 : 1162245263

Vous aimerez peut-être aussi

카테고리