Caractéristiques du livre
Les modèles de conception tête première nous indiquent ce que sont les modèles, comment les utiliser et comment y penser. Un modèle est un modèle, une solution universelle pour un ensemble spécifique de problèmes. Les modèles de conception sont, à leur tour, des solutions architecturales couramment utilisées qui peuvent être utilisées pour écrire des applications conviviales et flexibles. Les développeurs du monde entier résolvent les mêmes problèmes avec les mêmes approches. Comme l'indique l'annotation, si vous ne souhaitez pas réinventer la roue, utilisez des modèles de conception (modèles) prêts à l'emploi avec lesquels ce livre est dédié à travailler . Par ailleurs, il convient de noter la présentation du matériel : les livres de la série Head First sont réputés pour leur simplicité et se lisent en une seule séance. Les « modèles de conception » ne font pas exception. Il adhère également aux principes clés suivants :- Visibilité
- Style de présentation conversationnel
- Un grand nombre d'illustrations
- Participation active des lecteurs
- Faire appel aux émotions
- Attirer l'attention du lecteur
Thème principal et idée clé
"Sûrement quelqu'un a déjà résolu votre problème" - c'est ainsi que commence le premier chapitre du livre, véhiculant toute la signification des modèles de conception en programmation. L'objectif principal est de transmettre correctement leur signification au lecteur, car tout d'abord, le programmeur doit savoir à quoi servent les modèles et à quel moment ils doivent être appliqués. Essentiellement, vous devez d’abord trier les modèles en petits morceaux dans votre tête, puis les implémenter dans des programmes. Si un débutant en programmation a une bonne compréhension des motifs, leur utilisation peut grandement compliquer le code (mais devrait le simplifier !). À la question « Pourquoi utiliser des modèles de conception ? » Le livre donne une réponse claire : « Connaître des concepts comme l'abstraction, l'héritage et le polymorphisme ne fait pas de vous un bon concepteur OO. Les modèles contiennent une expérience éprouvée en matière de conception OO."Résumé"
Le livre est divisé en 14 chapitres plus une introduction. Au début, les auteurs du livre tentent de préparer le lecteur, d'ajuster son cerveau pour qu'il perçoive correctement les informations sur la conception de modèles. Le premier chapitre explique le principe de base des modèles et à quoi ils servent. L’un des modèles les plus utilisés – la stratégie – peut être examiné facilement et discrètement. Les chapitres deux à onze sont consacrés à une analyse détaillée des modèles individuels :- Observateur. Distribue les événements entre les objets intéressés par leur occurrence.
- Décorateur. Un autre regard sur l'héritage en Java et l'octroi de nouvelles fonctionnalités aux classes Java sans modifier le code.
- Usine. Le modèle enregistre le code des dépendances indésirables.
- Célibataire. Également connu sous le nom de Singleton, il vous permet de créer un seul objet de classe pour l'ensemble du programme.
- Équipe. Le modèle vous permet d'encapsuler facilement un appel de méthode, étendant ainsi ses capacités.
- Adaptateur et façade. Résoudre le problème d'incompatibilité d'interface, ainsi que conditionner des objets pour simplifier leur interface.
- Méthode de modèle. Encapsulation de blocs algorithmiques, permettant aux sous-classes de s'associer à tout moment à l'algorithme de traitement souhaité.
- Itérateur et éditeur de liens. Le modèle fournit un outil pratique pour parcourir les collections, quel que soit leur type. De plus, le chapitre fournit des informations sur les supercollections.
- État. Les objets sont dotés de la capacité de contrôler leur comportement grâce à des changements dans leur état interne.
- Adjoint. Un modèle très pratique pour contrôler l'accès à un objet.
Avantages et inconvénients
Comme beaucoup de ceux qui étudient à JavaRush, j'ai une attitude froide envers les cours ennuyeux, le matériel bourré et autres violences contre le psychisme d'un étudiant assoiffé de connaissances. L'énergie dépensée pour mémoriser des textes incompréhensibles, à mon avis, est mieux dépensée pour trouver des sources alternatives d'apprentissage. Ce livre vaut votre temps et vos efforts. Un excellent style de présentation, une gestion compétente de l'attention du lecteur et la répétition des points clés constituent le principal avantage de ce livre - la facilité d'assimilation du matériel . Un grand nombre d'illustrations est un plus supplémentaire. À mon avis, chaque image du livre a sa place : elles permettent toutes de renforcer les propos des auteurs et de mieux comprendre l'essence du matériau. Comme je l'ai écrit plus haut, cet ouvrage n'est pas un ouvrage de référence : ses auteurs n'ont pas l'intention de lister tous les modèles. Sa tâche principale est de faire comprendre et de parler des modèles de base afin que d'autres, plus complexes, soient plus faciles à comprendre. Et elle s'en sort à 100%. Parmi les inconvénients, il y a le fait que les modèles de conception Head first en russe ne sont pas aussi faciles à lire qu'en anglais. Bien sûr, chaque développeur doit parler anglais, mais les programmeurs débutants ne développent pas toujours cette compétence au point de pouvoir lire des livres dans l'original. Cependant, cela peut être considéré comme un inconvénient forcé, car le matériel est présenté avec assez de précision et le sens est préservé.Livres supplémentaires sur les modèles de conception
Je suis partisan de la conviction qu'il est préférable d'étudier des sujets fondamentaux provenant de plusieurs sources et d'y rechercher un style de présentation approprié. Lorsque vous aurez envie de vous plonger dans des schémas et de lire de la théorie supplémentaire, croyez-moi, vous aurez de quoi occuper vos soirées.-
Techniques de conception orientées objet. Modèles de conception (Gamma E., Helm R., Johnson R., Vlissides J.).
Il s'agit d'une publication plus sérieuse, un ouvrage de référence sur les patrons, un livre très respecté du « Gang of Four ». Beaucoup l’appellent la bible du design OO.
Sur Internet, les avis des développeurs se répartissent en 3 camps :
- certains soutiennent que le livre est obsolète et que le style de présentation rend la lecture impossible.
- d'autres recommandent d'utiliser le livre uniquement comme ouvrage de référence sur les modèles, rien de plus
- d'autres encore disent que le livre est le Saint Graal des modèles de conception et devrait être lu par quiconque souhaite devenir un jour développeur Java senior.
Important:Les exemples du livre sont écrits en C++.
-
JavaEE. Patrons de conception pour professionnels (Murat Yener, Alex Fidom).
Cet ouvrage est dédié à la conception d'applications d'Entreprise : il couvre de nombreux exemples de problèmes applicatifs réels.
-
Modèles de conception en Java (Grand M.).
Le livre montre de manière colorée comment l'utilisation de modèles fait gagner du temps aux développeurs, donne un aperçu du langage UML et décrit 47 modèles de conception.
Modèles de conception dans JavaRush
Dans le cours JavaRush, les modèles de conception sont appris au niveau 7 de la quête Java Collections. Les leçons 1 et 2 sont consacrées aux modèles les plus courants, et dans la leçon 4 , vous pourrez résoudre des problèmes sur ce sujet. Ci-dessous quelques articles intéressants pour « se renforcer » :-
Un article général sur le thème des patterns avec des catégories, des exemples, tout ce qu'on aime.
-
Deux articles sur les patrons : partie 1 aperçu et partie 2 plus détaillée .
-
Modèles de conception utilisant le modèle Singleton comme exemple .
-
Articles sur les modèles « Stratégie » et « Adaptateur ».
-
Le concept de modèles de conception est lié aux diagrammes UML, cet article vous aidera à comprendre de quoi il s'agit.
GO TO FULL VERSION