APP1: Flashcards
(41 cards)
Quelle est la différence entre une interface et une abstract class?
Une classe abstraite permet de créer des fonctions que les sous classe peuvent implémenter ou overide tandis qu’un interface ne permet pas de les implémenter
À quoi servent les modèles de conception?
ils servent à créer du code plus compréhensible, flexible, maintenable. De sorte que plus l’application grandi, plus on est capable de réduire la compléxité.
Quelle sont les cinqs principes SOLID ?
S: Single Responsability O: Open/Closed L: Liskov Substitution I: Interface Segregation D: Dependency Inversion
Qu’est-ce que le Single Responsability principle?
Ce principe stipule qu’une classe ne devrait avoir qu’une seule responsabilité. Il devrait donc y avoir une seule raison de changer.
Comment le S dans SOLID aide à avoir de meilleur logiciel?
- Plus facile à tester
- Moins de dépendance
- Code plus organisé, plus distribué
Quelle est le principe de O dans SOLID?
Les classes devraient juste être puvert pour faires des extensions, mais fermer pour des modifications.
De cette façon, il y a moins de possibilité de causé des problèmes en essayant de rajouter des trucs.
Quelle est l’exeception du Open/Close principle?
Il est possible de modifier des classes seulement quand il faut régler des bugs.
Principe du L des principes SOLID?
Ce principe stipule que Si class A est un sous type de Class B, alors on devrait être capable de remplacer la classe B avec la A sans causer des problèmes de comportement
Principe du I dans les principes SOLID?
De grosse interface devraient être séparé en des interfaces plus petites. De cette façon, on s’assure que qu’en implémentant les interface, il n’y a pas de méthodes non utilisé.
Principe du D dans lees principes SOLID
Ce principe stipule que des classes de haute niveau ne devraient pas dépendre de classe de bas niveau
Qu’est-ce que l’abstraction?
L’abstraction est un modèle d’un objet ou d’un phénomène du monde réel, limité à un contexte spécifique, qui représente tous les détails pertinents à ce contexte avec une grande précision et omet tout le reste.
Qu’est-ce que le polymorphisme?
Le polymorphisme est la capacité d’un programme à détecter la classe réelle d’un objet et appeler son implémentation même lorsque son type réel est inconnu dans le contexte actuel.
Quelle l’utilité des test unitaires ?
- Ils permettent de tester chaque méthode, donnant plus confiance à la bonne marche du logiciel
- Les tests permettent de développer avec un style différents s’écarter un peu de l’architecture conventionelle, mais les méthodes plus petites assure le bon fonctionnement.
- Assure la non-régression du code
Quelle sont les types de modèles de conception?
- Comportementaux
- Création
- Sructurel
Modèles de conception de type “Création”?
- Singleton
- Factory
- Builder
- Prototype
- Abstract Factory
- Object pool
Quelle est la différence entre un Modèle de conception et un algorithme?
Un algorithme c’est pour un problème spécifiqueet un modèle est pour des de problème général
Modèle de type comportementaux?
Ce sont des modèles qui gère la façon comment les classes vont intéragir
Modèle de type création
Dicte la façon dont les objets vont être crée
Modèle de type structurel?
mappe la façon dont les classes sont relié entre eux
Quelle sont les Modèle de conception de type structurel ?
- Adapter
- Bridge
- Composite
- Décorator
- Facade
- proxy
- registry
Modèle de conception Factory
Met en place une classe qui se charg d’instancier les classes nécessaires au fonctionnement de l’application
Quelle sont les Modèle de conception comportementaux
- Chain of responsabilities
- Command
- Médiator
- Memento
- Null object
- Observer
- State
- Strategy
- Template Méthod
- Visitor
Modèle de conception State
C’est un modèle de conception qui permet qu’un objet chnge son comportement dépendement si l’état à changer.
Pros and Cons modèles Sate
- Respecte le S et le O dans SOLID
- Simplifie le code en éliminant des bulky state machine conditional
CONS:
- N’est pas adéquat s’il y a peu de state ou si les états changent rarement