@Octodex : il y a une analogie que j’aime bien par rapport au DIP et au OCP :
Imagine toi que tu es un fabriquant de télévision qui ne respecte ni l’un ni l’autre
Tu as donc une télé, qui sait afficher une image, chouet.
Mais maintenant, tu veux pouvoir jouer à ta console de jeux vidéo. Du coup, comme elle ne respecte pas le principe "overt/fermé" il va falloir que tu aille trifouiller ta télévision pour que la console puisse être utilisée.
De même lorsque tu voudrais utiliser un lecteur DVD ou blue ray (paraît qu’on est en 2018).
Et puis un jour tu vas vouloir afficher une image HD, voire 4K, donc il va falloir trifouiller ta télévision etc.
Le OCP te dit que tu vas cacher comment est faite ta télé, par contre tu vas lui fournir un ensemble d’entrée (une interface) avec laquelle elle pourra discuter. Une entrée VGA, HDMI, DP, antenne par exemple.
De plus tu vas lui ajouter une prise interne à laquelle sera branché un décodeur TNT, qui lui connaîtra un ensemble type de "message" : le protocole DVB dans différente version par exemple.
Ce tunner ne doit pas réagir différement en fonction du message lui-même, mais du protocole du message (tiens, encore une interface). En gros le tuner n’a pas été créé en fonction du nombre de chaîne au moment où il a été fabriqué, ni même en fonction de la dynamique des programmes (un film d’action est plus dynamique qu’un documentaire animalier en terme de colorimétrie par exemple) on lui a dit "DVB" c’est X choses à respecter, si tu les respectes c’est bon.
Et maintenant peu importe le nombre de chaînes, la dynamique des programme ou la résolution, du moment que ton tunner est compatible avec la version du DVB actuelle, tout est ok.
Le DVB ne dépend pas des tunner, d’où le concept "d’inversion de la dépendance".