티스토리 뷰

웹개발/Javascript

템플릿 메서드 패턴

야쿠 yaku 2010.07.15 11:41

내가 알고 있는 내용
  • 알고리즘을 설계시 반드시 생각 해야 하고, 같은 여러번 생각해서 추상화해야 한다.
  • 알고리즘을 캡슐화 한다.
  • 공통되는 부분을 일반화 하여, 부모로 부터 상속 받아 기능을 사용한다.
  • 알고리즘의 여러 단계 중 일부는 서브 클래스에서 구현
  • 알고리즘의 구조는 그대로 유지하면서 서브 클래스에서 특정 단계를 재정의 할 수 있습니다.

역활

  • 상속을 이용하여 알고리즘의 처리한다.
  • 알고리즘의 생성시 중요한 역활을 한다.
  • 특정 단계의 처리를 하위클래스에 위임 한다.

책임

  • 알고리즘 골격을 정의한다.
var $console = $("#result");

function shop() {}
shop.prototype = {
    sellprepare : function(){
        this.request();
        this.productReg();
        this.makeView();
        this.maintenance();
    },
    request  : function(){},
    makeView : function(){},
    productReg : function(){
        this.addConsole(" product Registrator " );
    },
    addConsole : function(msg){
        $console.append("
  • " + msg + ""); }, maintenance : function() { this.addConsole(" maintenance !! "); } } function AShop() {} AShop.prototype = new shop(); AShop.prototype.request = function(){ this.addConsole(" free ShoppingMall request "); } AShop.prototype.makeView = function(){ this.addConsole(" Smarty Template Using"); } function BShop() {} BShop.prototype = new shop(); BShop.prototype.request = function(){ this.addConsole(" 150,000 Pay ShoppingMall request "); } BShop.prototype.makeView = function(){ this.addConsole(" direct Html Using"); } var ec = new AShop(); ec.sellprepare(); var makeshop = new BShop(); makeshop.sellprepare();
  • 댓글
    댓글쓰기 폼