APP1: Flashcards

(41 cards)

1
Q

Quelle est la différence entre une interface et une abstract class?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

À quoi servent les modèles de conception?

A

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é.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quelle sont les cinqs principes SOLID ?

A
S: Single Responsability
O: Open/Closed 
L: Liskov Substitution
I: Interface Segregation
D: Dependency Inversion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qu’est-ce que le Single Responsability principle?

A

Ce principe stipule qu’une classe ne devrait avoir qu’une seule responsabilité. Il devrait donc y avoir une seule raison de changer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Comment le S dans SOLID aide à avoir de meilleur logiciel?

A
  • Plus facile à tester
  • Moins de dépendance
  • Code plus organisé, plus distribué
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quelle est le principe de O dans SOLID?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quelle est l’exeception du Open/Close principle?

A

Il est possible de modifier des classes seulement quand il faut régler des bugs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Principe du L des principes SOLID?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Principe du I dans les principes SOLID?

A

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é.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Principe du D dans lees principes SOLID

A

Ce principe stipule que des classes de haute niveau ne devraient pas dépendre de classe de bas niveau

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qu’est-ce que l’abstraction?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Qu’est-ce que le polymorphisme?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quelle l’utilité des test unitaires ?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quelle sont les types de modèles de conception?

A
  • Comportementaux
  • Création
  • Sructurel
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Modèles de conception de type “Création”?

A
  • Singleton
  • Factory
  • Builder
  • Prototype
  • Abstract Factory
  • Object pool
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quelle est la différence entre un Modèle de conception et un algorithme?

A

Un algorithme c’est pour un problème spécifiqueet un modèle est pour des de problème général

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Modèle de type comportementaux?

A

Ce sont des modèles qui gère la façon comment les classes vont intéragir

18
Q

Modèle de type création

A

Dicte la façon dont les objets vont être crée

19
Q

Modèle de type structurel?

A

mappe la façon dont les classes sont relié entre eux

20
Q

Quelle sont les Modèle de conception de type structurel ?

A
  • Adapter
  • Bridge
  • Composite
  • Décorator
  • Facade
  • proxy
  • registry
21
Q

Modèle de conception Factory

A

Met en place une classe qui se charg d’instancier les classes nécessaires au fonctionnement de l’application

22
Q

Quelle sont les Modèle de conception comportementaux

A
  • Chain of responsabilities
  • Command
  • Médiator
  • Memento
  • Null object
  • Observer
  • State
  • Strategy
  • Template Méthod
  • Visitor
23
Q

Modèle de conception State

A

C’est un modèle de conception qui permet qu’un objet chnge son comportement dépendement si l’état à changer.

24
Q

Pros and Cons modèles Sate

A
  • 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

25
Modèle de conception Prototype
Permet de copier des objets existant sans que le code soit dépendant de leur classe
26
Pros and Cons du modèle Prototype
- Il est possible de copier des objet sans qu'il soit relier à leur classe - Il est possible de créer des objets plus complexe plus facilement CONS; - Cloner des objets qui ont une referance circulaire peut-être tricky
27
Modèle de Conception Adapter
- Permet à des objets avec des interfaces différente de collaborer ensemble
28
Pros and Cons de Adapter
- Respecte le S et le O de SOLID CONS: - La compplexité du code augmente puisque il faut rajouter plusieur classes et interfaces.
29
Modèle de conception Bridge
Permet de séparer des grandes classes ou des classes tightly coupler en deux hierarchy different. (exemple des shapes et couleurs)
30
Pros and cons de Bridge
- Respecte le S et le O dans SOLID - Le code fonctionne avec des grands niveau d'abstraction et n'est pas exposé au détail de la plateforme - Il est possible de créer des plateformes indépendante
31
Modèle Composite
Permet de faire une tree structure avec des objets et de travailler avec ces structures comme s c'était des objects individuels
32
Pros and cons Composite
- Plus facile de ravailler avec des structures en arbre et il est plus facle d'exploiter le polymorphisme et la récursion - Respecter le O dans SOLID CONS; - ll peut être difficile d'avoir une interface commune pour des classes qui ont des fonctionalité qui diffèrent beaucoup
33
Modèle Decorator
Permet d'ajouter des comportement à des objets en plaçant ces objets dans un wrapper qui contient le comportement qu'on souhaite
34
Pros and Cons de Decorator
- il est possible de rajouter des comportement à un objet sans avoir besoin de faire des sous-classes - Il est possible de mettre de rajouter et de retirer des responsabilité lors du run - Il est possible de combiner plusieurs comportement en wrappant l'objet plusieurs fois - Respecte le S dans SOLID CONS: - Il est difficile de implémenter plusieur couche qui ne dépendent pas de l'ordre du stack - Il est difficile d'enlever le wrapper dun wrapper stack
35
Modèle Facade
Provide des interfaces simples à une librairie ou des classes complexe.
36
Pros and Cons de Facade
- il est possible d'isoler ton code de la complexité d'un sous système CONS: -Une Facade peut devenir l'objet maître de toute les classes d'une app
37
Association: →
Montre l'intéraction entre deux classes
38
Dépendances: --------->
Utilise les attributs d'une classes sans les storer
39
Composition´―――――
une classe qui est composé d'une autre classe
40
Agrégation: ――――――<>
reçois en paramètre une autre classe, mais ne l'instancie pas
41
Heritage: ―――――I>
un classe hérite des attributs de l'autre