DIP

42_Cursus·2022년 5월 15일
0

CPP_SOLID

목록 보기
6/6

Dependency Inversion Principle

구체화가 아닌 추상화에 의존해야한다.
Se fier à des abstractions, pas à des concrétisations.
즉, 구현클래스(구현체)가 아니라 인터페이스(역활)에 의존해야한다.
Autrement dit, cela devrait dépendre 
de l'interface (rôle) 
et non de la classe d'implémentation (concrétisations).

pourquoi "DIP"?

연극을 예로들면,
Par exemple, "Théâtre",

배역 (인터페이스) - 고수준
role (Interface) - high level

배우(구현체) - 저수준
Acteur (implementation) - low level

이때, 연극은 배우보다는 배역에 초점을 두고 기획되어야한다. (la pièce doit être planifiée en mettant l'accent sur le rôle plutôt que sur les acteurs.)


Comment?

  1. 변수에 구상클래스의 레퍼런스 또는 포인터를 저장하지않는다.
    (Ne pas stocker la référence ou le pointeur de la classe d'implementation dans une variable de l'interface.)

  2. 구상클래스에서 유도된 클래스를 만들지 않는다.
    (Ne pas créer de classes dérivées de classes d'implementation.)

profile
etudiant_42

0개의 댓글