ts Template pattern

53

/*
The Template Method pattern is a design pattern lets you define the 
skeleton of an algorithm in an operation, deferring some steps to subclasses.

For example you want to make a pizza and you want to make it with 
tomato sauce, cheese and ham but you don't want to repeat the same 
steps for every pizza you make so instead you can define the steps 
in a template method and then you can use it to make different pizzas.

The Implementation will be like this
*/

class Pizza {
  public makePizza() {
    this.prepareDough();
    this.addSauce();
    this.addToppings();
    this.bake();
  }

  public prepareDough() {
    console.log('Preparing dough...');
  }

  public addSauce() {
    console.log('Adding sauce...');
  }

  public addToppings() {
    console.log('Adding toppings: cheese, ham, mushrooms');
  }

  public bake() {
    console.log('Bake for 25 minutes at 350');
  }
}

Comments

Submit
0 Comments

More Questions

run typescript nodecheck if file exists bash tsc install command
create react project with typescriptgoogle fonts roboto Cant bind to formGroup since it isnt a known property of form
cannot find module typescripthow to run typescript file Warning: Cant perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in a useEffect cleanup function.
for loop typescript[email protected]: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. cannot be loaded because running scripts is disabled on this system
ts-node call function from command lineinstall typescript global how to install typescript in visual studio code
install typescript using npmhow to see all commits in git yarn create react app typescript
how to run typescriptbootstrap add angular command installing bootstrap in angular 9
angular date pipehow check is file exist linux File C:-Users-Tariqul-AppData-Roaming-npm-ng.ps1 cannot be loaded because running scripts is disabled on this system.
spade operator typescripthow to check whether file exists in python useref react typescript
mat datepicker pt-brhow to edit unity scripts in sublime text ex: javascript loop
HOW TO DROP ALL TABLES WITH THEIR CONSTRAINTS AT ONCE IN ORACLEgithub:Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15 in android democrats are pussies
Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.16how to get all elements of column in pandas dataframe getserversideprops
cannot be loaded because running scripts is disabled on this system vscodeformControl Server Side rendering button routing in angular
find duplicate values in array object javascriptionic pasword visible inside ion-input get date list from date of range in react ts
UpdateTable operation with the GlobalSecondaryIndexUpdates parametertypescript Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client mysql insert exists update
loop an object properties in tsdefining component layout next ts react-native-vector-icons