flyweight 패턴

생성일
Jan 8, 2022 03:08 AM
태그
디자인 패턴
동일한 객체로 작업할 때 기존 인스턴스 재사용
유사한 객체를 많이 생성할 때 메모리를 절약하는 방법이다.
 
class Book {
  constructor(title, isbn) {
    this.title = title;
    this.isbn = isbn;
  }
}

const books = new Map();

function creaateBook(title, isbn) {
  if (books.has(isbn)) return books.get(isbn);

  const book = new Book(titile, isbn);
  books.set(isbn, book);

  return book;
}
 
isbn 값을 가진 book 인스턴스가 이미 존재하면 생성하지 않고, 해당 인스턴스를 리턴하는 방법.

Loading Comments...