Présentation du cours
Ce cours commence par les principes de conception SOLID en Java. Il fournira ensuite une introduction complète aux modèles de conception Java avec des exercices pratiques et pratiques.
Que sont les principes de conception SOLID ?
Les principes de conception SOLID sont presque une compétence obligatoire pour chaque développeur Java. Ces principes vous permettent d’écrire les & nettoyer le code Java dans vos projets.
Vous apprendrez les principes SOLID qui sont :
Principe de responsabilité unique
Principe ouvert-fermé
Principe de substitution de Liskov
Principe de ségrégation d’interface
Principe d’inversion de dépendance
Tous ces principes sont expliqués en détail et vous allez refactoriser le code Java existant et appliquer ces principes dans des exercices pratiques tout au long avec moi.
Ensuite, nous passons aux modèles de conception Java.
Pour en savoir plus sur les modèles de conception utilisant le langage de programmation Java, nous discuterons :
- Découvrir les types de problèmes résolus par chaque modèle de conception.
- Discuter des différents rôles dans le modèle de conception à l’aide de diagrammes UML .
- Nous utiliserons l’UML de l’exemple que nous allons résoudre ainsi que les UML du livre gang of four
- Expliquez comment le modèle de conception est appliqué ed dans l’exemple & comment les différentes parties s’emboîtent.
- Exemple pratique utilisant Java dans Eclipse IDE qui utilise le modèle de conception.
- Diverses conceptions & considérations de mise en œuvre pour chaque modèle de conception.
- Discutez de la façon dont le modèle de conception diffère d’un autre modèle similaire.
- Voir où une conception est utilisé dans la vraie vie.
Ce cours couvre tous les modèles de conception classiques du livre Gang of Four (GoF). De plus, nous discuterons de quelques nouveaux modèles de conception utilisés dans le développement de logiciels modernes. Nous discuterons de la manière dont un modèle peut être implémenté de différentes manières & comment nous pouvons les adapter pour les utiliser avec le langage Java.
Ce cours est le cours le plus complet sur les modèles de conception Java que vous puissiez trouver.
Alors, que sont les Design Patterns & ; pourquoi devriez-vous vous en soucier ?
Les modèles de conception représentent des solutions aux problèmes courants auxquels vous êtes confrontés lors de la programmation. Ces solutions sont réutilisables et peuvent résoudre une grande variété de problèmes. Ceux-ci sont devenus populaires avec la sortie d’un livre classique sur le sujet “Elements of Reusable Object-Oriented Software” écrit par Erich Gamma, John Vlissides, Ralph Johnson et Richard Helm (ces auteurs sont connus sous le nom de Gang of Four et donc l’abréviation commune Livre GoF 🙂 )
Un problème lors de l’étude de ce livre en tant que développeur Java est que les auteurs utilisent C++ pour démontrer un modèle, qui était le plus populaire & ; Langage de programmation largement utilisé à l’époque. Vous verrez donc des exemples utilisant des fonctionnalités du langage C++ telles que des pointeurs, des constructeurs de copie, etc. qui ne se traduisent pas facilement en Java.
Ce cours vous aidera grandement à cet égard. Nous étudierons chaque modèle de conception en utilisant Java à son plein potentiel.
Que couvre ce cours ?
Ce cours couvre les principes de conception SOLID et 26 modèles de conception en tout. Nous couvrirons les éléments suivants :
- Principes de conception SOLIDES : En savoir plus sur la responsabilité unique, O pen-Closed, substitution Liskov, ségrégation Interface & ; Principes d’inversion de dépendance.
- Modèles de conception créatifs : usine simple, usine abstraite, méthode d’usine, singleton, constructeur, Prototype & Pool d’objets
- Modèles de conception structurelle : Objet et amp ; Adaptateurs de classe, Décorateur, Pont, Façade, Statique & Proxy dynamique, poids mouche et amp; Composite
- Modèles de conception comportementaux : chaîne de responsabilité, commande, interprète, médiateur, itérateur, mémento, observateur, état, stratégie, méthode de modèle, visiteur , & Objet nul
Chaque modèle de conception est également implémenté dans un cours de codage suivi.
Comment le cours est-il structuré ?
Nous nous concentrons sur le codage en direct parallèlement à la théorie. Chaque conception est implémentée dans une session de codage en direct (que vous pouvez suivre) ainsi que discutée avec UML & diapositives. Après avoir étudié une section, vous saurez presque tout sur le modèle de conception.
Ce cours est créé avec l’accent sur l’utilisation comme référence. Ainsi, chaque modèle de conception est discuté dans sa propre section avec une conférence séparée pour chaque aspect du modèle de conception. Chaque section est organisée comme les conférences suivantes :
1. Introduction– Cette conférence présente un modèle, un problème qu’il résout & ; un diagramme UML formel
2. Étapes d’implémentation – Cette conférence explique comment vous allez implémenter ce modèle en Java.
3. Exemple UML – Nous discutons l’UML du problème pratique que nous allons résoudre.
4. Implémentation – Dans cette conférence, nous allons implémenter le modèle de conception en Java à l’aide de l’IDE Eclipse
5. Mise en œuvre & Considérations de conception – Quelques points importants sur les performances, les variations & des conseils pratiques sur l’utilisation du modèle
6. Exemple du monde réel – Dans cette conférence, nous verrons comment le modèle est utilisé dans la vie réelle par la propre bibliothèque de classes de Java & ; frameworks populaires tels que Spring, JSF
7. Comparaison avec un modèle similaire – Découvrez en quoi le modèle est différent d’un autre modèle similaire.
8. Pièges – De nombreux modèles ont quelques inconvénients. Cette conférence vous montrera ce que c’est.
9. Résumé – Cette conférence résumera toutes les informations sur le modèle.
Comme vous pouvez le voir, en cassant un seul modèle de conception dans des sujets plus petits, vous pouvez facilement regarder uniquement les parties dont vous avez besoin à l’avenir.
Qu’est-ce qui est fourni avec le cours ?
- Nous avons fourni tous les exemples de code issus des cours pratiques. Vous pouvez télécharger le code de démarrage & suivez ou vous pouvez télécharger le code fini pour l’étudier par vous-même.
- Tous les diagrammes UML avec la description de chaque rôle dans le modèle de conception sont fournis au format PDF dans la vidéo récapitulative. Ces diapositives suffisent pour réviser rapidement la structure des modèles de conception.
- Un guide PDF de tous les résumés des modèles de conception avec des exemples de code et des diagrammes UML.
Qui devrait suivre ce cours ?
- Développeurs débutants et expérimentés.
- Concepteurs de logiciels & Architectes.
SOLID Design Principles
Learn about the Single Responsibility Principle here. This is the first one from SOLID design principles.
Let's try out the Single Responsibility principle with some java code.
The second principle from SOLID design principles.
Try out the open-closed principle in a Java hands on example.
Let's learn about Liskov substitution in this lecture.
We'll see the famous example of Liskov Substitution principle.
This easy to follow but important principle is explained in this lecture.
See how interface segregation can be applied in Java code.
The famous DI principle.
Let's try out the dependency inversion ourselves in this Java hands on example.
Let's test your knowledge about SOLID principles in this quiz.
Introduction
Let's test your knowledge of categories of design patterns. In case you get any of these wrong, don't worry! You can always go back and watch the lecture again to revise.
Creational Design Patterns
Builder
In this video we'll introduce the builder design pattern. Builder is one of the most easy & useful creational design patterns. It can be used with legacy code as well as new code.
Let's talk about the typical steps you'd follow when implementing builder design pattern.
In this video we'll go over the UML diagram of the example which we're going to implement in next video. This video will clarify role of each class we'll be either using or implementing ourselves.
Let' s implement builder design pattern now in Java. In this video we are going to try out one way to implement this pattern.
In this video we're going to implement builder in another fashion. n fact this is the way you'll often see builder used in real life projects.
In this video we're going to look at some points you should consider while designing & implementing this design pattern.
Now let's compare builder pattern with Prototype design pattern.
This video discusses short comings of builder design pattern.
In this video we will discuss summary of builder design pattern
Let's test your knowledge of the builder design pattern. In case you get some of these wrong, don't worry! You can go back and watch any lectures on builder pattern again and then try again.
Simple Factory
In this video we'll introduce Simple factory.
Let's talk about the typical steps you'd follow when implementing a simple factory.
Let' s implement a simple factory now in Java.
In this video we're going to look at some points you should consider while designing & implementing simple factory
Now let's compare simple factory with factory method design pattern
This video discusses short comings of simple factory.
In this video we will discuss summary of simple factory
Let's test your knowledge on Simple Factory. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Factory Method
In this video we'll introduce the builder design pattern.
Let's talk about the typical steps you'd follow when implementing factory method design pattern.
Let' s implement factory method design pattern now in Java. In this video we are going to try out one way to implement this pattern.
This video discusses short comings of factory method
design pattern.In this video we will discuss summary of factory method design pattern
Let's test your knowledge on Factory Method. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Prototype
In this video we'll introduce the prototype design pattern. Prototype allows us to use existing objects to create more of them!
Let's talk about the typical steps you'd follow when implementing prototype design pattern.
In this video we'll go over the UML diagram of the example which we're going to implement in next video. This video will clarify role of each class we'll be either using or implementing ourselves.
Let's implement prototype design pattern now in Java.
In this video we're going to look at some points you should consider while designing & implementing this design pattern.
Now let's compare prototype pattern with singleton design pattern.
This video discusses short comings of prototype design pattern.
In this video we will discuss summary of prototype design pattern
Let's test your knowledge on Prototype design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Abstract Factory
In this video we'll introduce the abstract factory design pattern.
Let's talk about the typical steps you'd follow when implementing abstract factory design pattern.
In this video we'll go over the UML diagram of the example which we're going to implement in next video. This video will clarify role of each class we'll be either using or implementing ourselves.
Let's implement abstract factory design pattern now in Java.
In this video we're going to look at some points you should consider while designing & implementing this design pattern.
Now let's compare builder pattern with abstract factory design pattern
This video discusses short comings of abstract factory design pattern.
In this video we will discuss summary of abstract factory design pattern
Now, let's test your knowledge on Abstract Factory design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Singleton
Let's test your knowledge on Singleton design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Object Pool
Let's test your knowledge on Object Pool design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Structural Design Patterns
Adapter
Let's test your knowledge on Adapter design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Bridge
Let's test your knowledge on Bridge design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Decorator
Let's test your knowledge on Decorator design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Composite
Let's test your knowledge on Composite design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Facade
Alright! Let's test your knowledge of Facade design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Flyweight
Let's test your knowledge of Flyweight design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Proxy
Let's test your knowledge of Proxy design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Behavioral Design Patterns
Chain of Responsibility
Let's test your knowledge of Chain of Responsibility design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Command
Let's test your knowledge of Command design pattern now. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Interpreter
Let's test your knowledge of Interpreter design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Mediator
It's time to test your knowledge of Mediator design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Iterator
Let's test your knowledge of Iterator design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Memento
Let's test your knowledge of Memento design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Observer
Let's test your knowledge of Observer design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
State
Let's test your knowledge of State design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Strategy
Let's test your knowledge of Strategy design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Template Method
Let's test your knowledge of Template Method design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Visitor
Let's test your knowledge of Visitor design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.
Null Object
Let's test your knowledge of Null Object design pattern. In case you get any of these wrong, don't worry! You can always go back and watch the lectures again to revise.