전체보기 87

[자바스크립트 디자인 패턴] 모듈 패턴

목록 싱글톤 패턴 (Singletpm Pattern) 모듈 패턴 (Module Pattern) 옵저버 패턴 (Observer Pattern) 프로토타입 패턴 (Prototype Pattern) 특정 구성요소를 다른 구성요소와 독립적으로 유지하는 패턴을 말합니다. Module 모듈을 생성합니다 getTitle : 내부의 title 변수를 불러올 수 있습니다. 모듈을 이용하는 코드에서는 내부의 title 변수와 printTitle 함수에 접근할 수 없고 정해진 함수인 getTitle를 통해서만 접근할 수 있습니다. 작성코드 var Module = function(){ var title = 'Module 패턴'; var printTitle = function (){ console.log('제목 : ' + ti..

카테고리 없음 2019.08.18

[자바스크립트 디자인 패턴] 싱글톤 패턴

목록 싱글톤 패턴 (Singletpm Pattern) 모듈 패턴 (Module Pattern) 옵저버 패턴 (Observer Pattern) 프로토타입 패턴 (Prototype Pattern) 전체 시스템에서 하나의 인스턴스만 존재하도록 보장하는 객체패턴을 말합니다. Singleton 모듈을 생성합니다 init : 제공하고싶은 함수들을 모두 작성합니다 (print, ...) getInstance : 함수를 호출한 다음 init에서 제공하는 함수를 이용할 수 있도록 init 함수를 instance에 담아서 리턴합니다 작성코드 var Singleton = (function(){ var instance; var init = function(){ return { print : function(){ console..

카테고리 없음 2019.08.18

[자바 디자인 패턴] 행동패턴 - 템플릿 패턴

행동패턴 목록 책임연쇄 패턴 (Chan of Responsibility Pattern) 커맨드 패턴 (Command Pattern) 해석자 패턴 (Interpreter Pattern) 반복자 패턴 (Iterator Pattern) 중재자 패턴 (Mediator Pattern) 메멘토 패턴 (Memento Pattern) 관찰자 패턴 (Observer Pattern) 상태 패턴 (State Pattern) 전략 패턴 (Strategy Pattern) 템플릿 패턴 (Template Pattern) 여기서 초점을 둘 부분은 final 로 만들어둔 변경 불가능한 프로세스 함수인 play() 이다. 고정되어있는 순서로 프로세스를 적용하려면 아래와 같이 final로 지정해 두는 것이 훨씬 효과적일 것 같다. 또한 ..

카테고리 없음 2019.08.16

[자바 디자인 패턴] 행동패턴 - 전략 패턴

행동패턴 목록 책임연쇄 패턴 (Chan of Responsibility Pattern) 커맨드 패턴 (Command Pattern) 해석자 패턴 (Interpreter Pattern) 반복자 패턴 (Iterator Pattern) 중재자 패턴 (Mediator Pattern) 메멘토 패턴 (Memento Pattern) 관찰자 패턴 (Observer Pattern) 상태 패턴 (State Pattern) 전략 패턴 (Strategy Pattern) 템플릿 패턴 (Template Pattern) 클래스의 수를 상관하지 않고 단위기능의 처리를 테스트 할 때 쓰면 좋을 것 같기도 하다. 각 기능마다 레고블록처럼 갈아끼울 수 있기 때문에 초기에 사용하면 유용한 기능인 것 같다. 장점 - 서브클래싱 대신 사용할 ..

카테고리 없음 2019.08.16

[자바 디자인 패턴] 행동패턴 - 상태 패턴

행동패턴 목록 책임연쇄 패턴 (Chan of Responsibility Pattern) 커맨드 패턴 (Command Pattern) 해석자 패턴 (Interpreter Pattern) 반복자 패턴 (Iterator Pattern) 중재자 패턴 (Mediator Pattern) 메멘토 패턴 (Memento Pattern) 관찰자 패턴 (Observer Pattern) 상태 패턴 (State Pattern) 전략 패턴 (Strategy Pattern) 템플릿 패턴 (Template Pattern) 객체의 동작이 상태에 따라 변하는 경우에 사용한다. 옵저버패턴과의 차이를 생각해보고 적재적소에 사용해야 할 것 같다. 관찰자 패턴은 상태가 변경시에 그때그때 알려주는 패턴이고 상태패턴은 상태에 따라 처리를 다르게 ..

카테고리 없음 2019.08.16

[자바 디자인 패턴] 행동패턴 - 관찰자 패턴

행동패턴 목록 책임연쇄 패턴 (Chan of Responsibility Pattern) 커맨드 패턴 (Command Pattern) 해석자 패턴 (Interpreter Pattern) 반복자 패턴 (Iterator Pattern) 중재자 패턴 (Mediator Pattern) 메멘토 패턴 (Memento Pattern) 관찰자 패턴 (Observer Pattern) 상태 패턴 (State Pattern) 전략 패턴 (Strategy Pattern) 템플릿 패턴 (Template Pattern) 어떤 객체의 상태가 변함에 따라 원하는 동작을 할 필요가 있는 경우에 사용하면 좋을 것 같다. 장점 - 객체와 관찰자 간의 연결을 설명합니다. - 브로드 캐스트 유형 통신을 지원합니다. 사용시기 - 한 객체의 상태..

카테고리 없음 2019.08.16

[자바 디자인 패턴] 행동패턴 - 메멘토 패턴

행동패턴 목록 책임연쇄 패턴 (Chan of Responsibility Pattern) 커맨드 패턴 (Command Pattern) 해석자 패턴 (Interpreter Pattern) 반복자 패턴 (Iterator Pattern) 중재자 패턴 (Mediator Pattern) 메멘토 패턴 (Memento Pattern) 관찰자 패턴 (Observer Pattern) 상태 패턴 (State Pattern) 전략 패턴 (Strategy Pattern) 템플릿 패턴 (Template Pattern) 상태를 저장하고 복원하는 기능이 필요한 경우에 사용하면 유용할 듯 하다. 장점 - 캡슐화 경계를 유지합니다. - 발신자를 단순화합니다. 사용시기 - 실행 취소 작업을 구현하는데에 쓰입니다. - 대부분의 소프트웨어에..

카테고리 없음 2019.08.16

[자바 디자인 패턴] 행동패턴 - 중재자 패턴

행동패턴 목록 책임연쇄 패턴 (Chan of Responsibility Pattern) 커맨드 패턴 (Command Pattern) 해석자 패턴 (Interpreter Pattern) 반복자 패턴 (Iterator Pattern) 중재자 패턴 (Mediator Pattern) 메멘토 패턴 (Memento Pattern) 관찰자 패턴 (Observer Pattern) 상태 패턴 (State Pattern) 전략 패턴 (Strategy Pattern) 템플릿 패턴 (Template Pattern) 메시지 기반으로 무언가를 구현하려고 할 때 사용하면 유용할 것 같다. 특히 채팅관련 기능은 대부분의 서비스에 들어가기 때문에 꼭 사용되어야 할 것 같다. 장점 - 클래스 수를 분리합니다. - 객체 프로토콜을 단순화..

카테고리 없음 2019.08.12

[자바 디자인 패턴] 행동패턴 - 반복자 패턴

행동패턴 목록 책임연쇄 패턴 (Chan of Responsibility Pattern) 커맨드 패턴 (Command Pattern) 해석자 패턴 (Interpreter Pattern) 반복자 패턴 (Iterator Pattern) 중재자 패턴 (Mediator Pattern) 메멘토 패턴 (Memento Pattern) 관찰자 패턴 (Observer Pattern) 상태 패턴 (State Pattern) 전략 패턴 (Strategy Pattern) 템플릿 패턴 (Template Pattern) 요즘에는 for ... in 문을 사용해도 동일한 효과를 얻을 수 있다고 생각하지만 속도측면에서는 어떤부분이 더 나은지 알아볼 필요가 있을 것 같다. 장점 - 컬렉션 탐색의 변형을 지원합니다. - 컬렉션에 대한 인..

카테고리 없음 2019.08.12

[자바 디자인 패턴] 행동패턴 - 해석자 패턴

행동패턴 목록 책임연쇄 패턴 (Chan of Responsibility Pattern) 커맨드 패턴 (Command Pattern) 해석자 패턴 (Interpreter Pattern) 반복자 패턴 (Iterator Pattern) 중재자 패턴 (Mediator Pattern) 메멘토 패턴 (Memento Pattern) 관찰자 패턴 (Observer Pattern) 상태 패턴 (State Pattern) 전략 패턴 (Strategy Pattern) 템플릿 패턴 (Template Pattern) 번역 패턴이기 때문에 특정 포맷을 파싱하는 경우에 사용할 수 있을 것 같지만, 주로 언어를 번역하는데 쓰인다고 한다. 아직은 어떤 용도로 써야할지 잘 모르겠다. 장점 - 문법을 바꾸고 확장하는 것이 더 쉽습니다. ..

카테고리 없음 2019.08.12