티스토리 뷰

Javascript

Javascript의 팩토리 패턴

딩신 2021. 1. 22. 22:24

이번에 개발하면서 팩토리패턴으로 구현된 코드를 옮겼었는데, 개인적으로 불편한 점이 많아서 좀 더 찾아보게 됐다.

 

팩토리 패턴 중 가장 구현이 잘 된것은 Object 같다.
다른 값을 넣어도 해당 타입에 맞게 새로운 객체를 생성해주는데,

 

const bool = new Object(true) 
const num = new Object(1)
const arr = new Object([1,2,3])

const factoryArr = [bool, num, arr]
factoryArr.forEach((obj) => {
	console.log(obj.constructor.name)
})
// Boolean
// Number
// Array

 

 

 

다른 예제들을 봤을 때는 커피팩토리, 자동차팩토리 등의 예제들이 있었는데, 오히려 Object로 팩토리패턴의 예시를 드니까 훨씬 더 현실에 와닿는 느낌이었다.

 

이런 글을 쓸 때, 항상 고민되는 점은 예제 코드를 정말 실생활에 어울리게 써야한다는 것이다. 그렇지 않으면 잘 이해도 되지 않고 오히려 별거 아닌 식으로 치부할 때가 많았다.

 

실생활에 흔히 예를 들 때 new Person, new Animal 등등으로 예제를 많이 만들어서 한것을 많이 봤었고 도움도 많이 되었었지만

정말 실제로 작업할 때는 이런 예제가 크게 도움이 되지 않았던 것 같은데, 평소에 쓰는 문법 자체도 팩토리 패턴으로 구현되어 있다고 생각하니 좀 더 이걸 왜 쓰는지 이해하기 쉬운 것 같다.

댓글