레이블이 javascript Abstract Factory인 게시물을 표시합니다. 모든 게시물 표시
레이블이 javascript Abstract Factory인 게시물을 표시합니다. 모든 게시물 표시

2012년 4월 9일 월요일

자바스크립트 추상 팩토리 패턴 Dependency injection(의존성 주입) part2

자바스크립트 추상팩토리 패턴

Abstract Factory Dependency injection(추상팩토리 패턴 의존성 주입) part2~


부족한 감이 더 공부해보고 자바스크립트 추상 팩토리 패턴 의존성주입을 다른 방식으로 짜봣습니다.

추상 팩토리 패턴 정의 : 추상적인 인터페이스를 이용하여, 여러가지(다형) 변화 돼는 것들을 세분하 한다.
의존성 주입 :  객체들이 같이 동작할 객체들의 의존성을 생성자 아규먼트와 팩토리 메서드의 아규먼트와 생성되거나 팩토리 메서드에서 리턴된 객체 인스턴스에 설정된 프로퍼티만으로 정의하는 과정이다.
function Wallet(myalert) {
  return {
    coin : function(coin) {
       return function(state) {
          alert(coin + state + "없어");
       };
    },
    bill : function(state) {
       return alert(myalert + state + " 없어");
    }
  };
}
var open = Wallet("지갑을 열었지만 \n");
    open.bill("지폐가");
var wow = open.coin("동전칸을 뒤져 \n");
    wow("호주머니를 뒤져\n");

result1>> "지갑을 열었지만 지폐가 없어"
result2>> "동전칸을 뒤져 호주머니를 뒤져 없어"

Wallet이라는 팩토리 메서드에 필요한 인스턴스("지갑을 열었지만", "지폐가" 등등) 을 주입하는 형식으로 구현하였습니다
실행되는 단계의 소스를 따라가면서 보시면서 조금 이해가 되실거라 생각됩니다 ㅠ


참고 : 개념 (http://yaku.tistory.com/entry/%EC%B6%94%EC%83%81-%ED%8C%A9%ED%86%A0%EB%A6%AC-%ED%8C%A8%ED%84%B4-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%9D%98%EC%A1%B4%EC%84%B1-%EC%A3%BC%EC%9E%85%EC%97%90-%EB%8C%80%ED%95%9C-%EB%82%98%EC%9D%98-%EC%83%9D%EA%B0%81)