Bonjour à tous !

Voilà j'ai lu un livre entier pour apprendre le C++, je connais donc pas mal de choses. Mais j'ai un gros problème, c'est que je ne sais pas "bien programmer".
J'entends par là, savoir comment bien séparer le code source (avec les classes et calculs) de l'interface graphique (ou flux d'entrée/sortie), le tout pour que ça soit portable et facile à mettre à jour.
En effet dans les livres que j'ai pu voir, on en parle presque pas, on apprends juste à programmer. Moi je veux programmer "intelligent". Je pourrais vous faire un programme mais bonjour les dégats si je veux qu'il soit portable ou changer d'interface graphique, donc ça ne m'intéresse pas.

J'ai vu sur le net qu'il fallait que son programme soit codé en plusieurs couches (fonctions de bases / flux d'entrée et sortie / interfaces graphique), ou qu'il soit modulable, mais je n'ai pas trouvé comment le faire.

Ma question : Pouvez-vous me conseiller un cours sur internet ou un livre qui m'apprenne ces concepts de programmation ?

Merci d'avance