Zafixuje skelet postupu a nechá podtriedam doplniť jednotlivé kroky.
class Report { // Skelet postupu. Poradie je pevné a potomok ho nezmení. vytvor(data) { this.hlavicka(); this.telo(data); this.paticka(); } hlavicka() { // rovnaká pre všetkých } paticka() { // rovnaká pre všetkých } telo(data) { throw new Error('abstraktná metóda'); }} class PdfReport extends Report { telo(data) { // vysadí tabuľku do PDF }} class HtmlReport extends Report { telo(data) { // vypíše tabuľku do HTML }} new PdfReport().vytvor(data);new HtmlReport().vytvor(data);