Difficile da dire. Quando stavo imparando, il principale consiglio di programmazione strutturata era fondamentalmente "usa strutture a blocchi" e "non usare goto", che ti porta solo lontano.
C'era una tecnica chiamata "Programmazione strutturata di Jackson" in cui descrivevi la struttura dei tuoi dati di input e di output e la struttura del tuo programma era considerata come la cosa intermedia. I diagrammi non erano così terribilmente ponderati come il metodo generale, che era AFAIK rivolto principalmente a COBOL e ad attività di elaborazione dati abbastanza semplici.
In altre parole, il consiglio specifico che puoi trovare per la programmazione strutturata è spesso un consiglio che non dovresti seguire nel mondo reale - eccessivamente semplicistico e pedante, basato sul presupposto che i programmatori non sono in grado di pensare a un simile "complesso" "idee come ripetizioni senza una bella immagine e una metodologia pesante per aiutarle.
Ciò che è forse utile è sottolineare che, nel complesso, i "modelli di progettazione" per la programmazione strutturata erano algoritmi e strutture dati, o almeno così sembravano le cose negli anni '80 e '90 prima che il termine "modello di progettazione" fosse stato reso popolare Gli attuali sviluppatori non OO avranno ora modelli di progettazione su larga scala, naturalmente, ma come programmatore C ++ io stesso che non ha usato molto C, Pascal o qualsiasi altra cosa per oltre un decennio, non posso commentare molto su questo.
Alcuni idiomi sono anche rilevanti, ma diciamo solo che la tua esperienza di programmazione orientata agli oggetti ti avrà già dato un'idea di quando e come usare un "blocco di parametri" per esempio - una classe è in molti modi l'evoluzione di un blocco di parametri, e ho il sospetto (ma non lo so per certo) che molti modelli C ++ orientati agli oggetti hanno schemi di blocco dei parametri C quasi equivalenti.
Inoltre, alcuni schemi di progettazione orientati agli oggetti sono necessari in una certa misura per risolvere i problemi di occultamento dei dati. L'astrazione è un buon progetto, ma a volte avere una buona astrazione è un duro lavoro dove avere un'astrazione che perde permette soluzioni molto più semplici, almeno nel breve termine.