Search
 
SCRIPT & CODE EXAMPLE
 

TYPESCRIPT

facade design pattern typescript

interface Store {
  product(name: string): string
  category(): string
}

class Minuman implements Store {
   product(name: string): string {
      return name
   }
   
   category(): string {
      return 'minuman'
   }
}

class Makanan implements Store {   
   product(name: string): string {
      return name
   }
   
   category(): string {
     return 'makanan'
   }
}

class StoreFaced {
  public minuman: InstanceType<typeof Minuman>
  public makanan: InstanceType<typeof Makanan>
  
  constructor() {
    this.minuman = new Minuman()
    this.makanan = new Makanan()
  }
  
  storeMinuman(name: string): string {
    return this.minuman.product(name)
  }
  
  storeMakanan(name: string): string {
    return this.makanan.product(name)
  }
}

const res = new StoreFaced()
console.log(`product name: ${res.storeMinuman("cola cola")} and product category ${res.minuman.category()}`)
console.log(`product name: ${res.storeMakanan("biskuat")} and product category ${res.makanan.category()}`)
Comment

ts Facade pattern

/*Facade
The Facade pattern is a design pattern lets you define a simple unified interface 
to a large body of code .

imagine you want to make a car and you want to make it with a engine, 
transmission, and wheels.

First you need to make a car class:
*/
class Car {
  public makeCar() {
    console.log('Making a car...');
  }
}

// Then you make a facade class that will make the car with an engine, transmission, and wheels and abstract the process from the user
class CarFacade {
  constructor(private car: Car) {}

  public makeCar() {
    this.car.makeCar();
    this.makeEngine();
    this.makeTransmission();
    this.makeWheels();
  }

  private makeEngine() {
    console.log('Making engine...');
  }

  private makeTransmission() {
    console.log('Making transmission...');
  }

  private makeWheels() {
    console.log('Making wheels...');
  }
}

// Then you make your car:
const car = new CarFacade(new Car());
car.makeCar();
Comment

ts Facade pattern

/*Proxy
The Proxy design pattern is a design pattern lets you provide a surrogate 
or placeholder object for another object to control access to it.

For example imagine you want to give students access to a 
library but you don't want them to be able to access the library directly.

First you need to make a library class:
*/
class Library {
  public getBooks() {
    console.log('Getting books...');
  }
}

// Then you make a proxy class that will give students access to the library:
class LibraryProxy {
  constructor(private library: Library) {}

  public getBooks() {
    this.library.getBooks();
  }
}

// Then you make your library:
const library = new LibraryProxy(new Library());
library.getBooks();
Comment

PREVIOUS NEXT
Code Example
Typescript :: Header missing on reports odoo 
Typescript :: obsidian write file 
Typescript :: inheritance problem in Dart 
Typescript :: testing in different environments 
Typescript :: Which coutnry doesnt have taxes 
Typescript :: Angular Compiler Options to enable AOT compilation 
Typescript :: derivative dots overleaf 
Typescript :: typescript equals string 
Typescript :: upload keystore file to secrets github actions 
Typescript :: uTorrent Default Download Folder - Linux 
Typescript :: formatting to six digits in python 
Typescript :: convert epoch to normal date | stripe | epoch 
Typescript :: highcharts print 
Typescript :: how to find out the amount of ints in c++ 
Typescript :: managed code array too few arguments for class template 
Typescript :: he .native modifier for v-on is only valid on components but it was used on <a. 
Typescript :: typescript array of mixed type 
Typescript :: benefits of waxing body hair 
Typescript :: Why you do not set the state directly in React. For example, if you have const [products, setProducts] = useState([]). Why you do not set products = [...] instead, you use the setProducts 
Typescript :: how to use the pokeapi with javascript 
Typescript :: 1st heghts value in sql 
Typescript :: angular child routes not working 
Typescript :: language 
Typescript :: google sheets automatic update rook 
Typescript :: how were sonnets used in rennaisance litireture 
Typescript :: minimum requirements to start it company 
Typescript :: return from r in restaurants orderby r.Name select r c# 
Typescript :: keep footer after all elements react 
Typescript :: marine traffic embeeded map in basic html 
Typescript :: code to check if a triangle is valid or not 
ADD CONTENT
Topic
Content
Source link
Name
5+9 =