☢️ MVC 패턴
·
Computer Science/Design Pattern
MVC 패턴은 모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인 패턴입니다. 애플리케이션의 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각각의 구성요소에만 집중해서 개발할 수 있습니다. 재사용성과 확장성이 용이하다는 장점이 있고, 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해지는 단점이 있습니다. 1. 모델(model) - 핵심 데이터와 그 데이터를 처리하는 규칙모델은 애플리케이션의 데이터인 데이터베이스, 상수, 변수를 뜻합니다. 사각형 모양의 박스 안에 글자가 들어 있다면 그 사각형 모양의 박스 위치 정보, 글자 내용, 글자 위치, 글자 포멧에 관한 정보를 모두 가지고 있어야 합니다. 뷰에서 데이터를 생성하거나 수정하면 컨트롤러를 통해 모델을 생성하거..
📺 노출모듈 패턴
·
Computer Science/Design Pattern
노출모듈 패턴(revealing module pattern)은 자바스크립트에서 변수나 함수가 의도치 않게 외부에서 바뀌거나 겹치는 것을 막기 위해, 마치 하나의 '캡슐'처럼 코드를 안전하게 포장하는 패턴입니다. 이 캡슐의 일부 내용물은 외부에서 볼 수 없도록 숨기고(private), 허락된 것들만 밖으로 내보여서 사용할 수 있게(public) 해줍니다. 💻 코드 예시1. 자바스크립트(JavaScript)에서의 노출모듈 패턴a와 b는 다른 모듈에서 사용할 수 있는 변수나 함수인 private 범위를 가집니다. c와 d는 다른 모듈에서 사용할 수 있는 변수나 함수이며 public 범위를 가집니다. 참고로 앞서 설명한 노출모듈 패턴을 기반으로 만든 자바스크립트 모듈 방식으로는 CJF(CommonJS) 모듈 ..
🔁 이터레이터 패턴
·
Computer Science/Design Pattern
이터레이터(iterator)를 사용하여 컬렉션의 요소들에 접근하는 디자인 패턴입니다.이를 통해 순회할 수 있는 여러 가지 자료형의 구조와는 상관없이 이터레이터라는 하나의 인터페이스로 순회가 가능합니다.💻 코드 예시1. 자바스크립트(JavaScript)에서의 이터레이터 패턴다른 자료 구조인 set과 map임에도 똑같은 for a of b라는 이터레이터 프로토콜을 통해 순회하는 것을 볼 수 있습니다.const mp=new Map()mp.set('a',1)mp.set('b',2)mp.set('c',3)const st=new Set()st.add(1)st.add(2)st.add(3)for (let a of mp)console.log(a)for(let a of st) console.log(a)/*['a',1][..