锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久噜噜噜久久亚洲va久,国产成人精品日本亚洲专一区,亚洲日韩在线第一页http://www.tkk7.com/TiGERTiAN/category/21319.html----TiGERTiANzh-cnFri, 12 Oct 2007 12:49:51 GMTFri, 12 Oct 2007 12:49:51 GMT60Patterns In Javahttp://www.tkk7.com/TiGERTiAN/archive/2007/10/11/151998.htmlTiGERTiANTiGERTiANThu, 11 Oct 2007 04:40:00 GMThttp://www.tkk7.com/TiGERTiAN/archive/2007/10/11/151998.htmlhttp://www.tkk7.com/TiGERTiAN/comments/151998.htmlhttp://www.tkk7.com/TiGERTiAN/archive/2007/10/11/151998.html#Feedback0http://www.tkk7.com/TiGERTiAN/comments/commentRss/151998.htmlhttp://www.tkk7.com/TiGERTiAN/services/trackbacks/151998.html

TiGERTiAN 2007-10-11 12:40 鍙戣〃璇勮
]]>
Abstract Factory Patternhttp://www.tkk7.com/TiGERTiAN/archive/2007/04/26/113903.htmlTiGERTiANTiGERTiANThu, 26 Apr 2007 13:11:00 GMThttp://www.tkk7.com/TiGERTiAN/archive/2007/04/26/113903.htmlhttp://www.tkk7.com/TiGERTiAN/comments/113903.htmlhttp://www.tkk7.com/TiGERTiAN/archive/2007/04/26/113903.html#Feedback0http://www.tkk7.com/TiGERTiAN/comments/commentRss/113903.htmlhttp://www.tkk7.com/TiGERTiAN/services/trackbacks/113903.html                                                   --Gamma, E., Helm, R., Johnson, R., Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software, Boston: Addison-Wesley, 1995, p.87        

璁茬櫧浜嗭紝灝辨槸闈㈠悜鎶借薄鎺ュ彛緙栫▼錛屾瘡涓緇勫璞¢兘瀹炵幇鍚屼竴涓帴鍙?nbsp;         
abstract class ResFactory {
   
abstract public DisplayDriver getDispDrvr();
   
abstract public PrintDriver getPrtDrvr();
}


class LowResFact extends ResFactory {
   
public DisplayDriver getDispDrvr() {
      
return new LRDD();
   }

   
public PrintDriver getPrtDrvr() {
      
return new LRPD();
   }

}


class HighResFact extends ResFactory {
   
public DisplayDriver getDispDrvr() {
      
return new HRDD();
   }

   
public PrintDriver getPrtDrvr() {
      
return new HRPD();
  }

}


姣斿璇存垜闇瑕佷竴涓樉鍗¢┍鍔ㄥ拰鎵撳嵃鏈洪┍鍔紝楂樻。鏈哄拰浣庢。鏈洪┍鍔ㄩ兘涓嶄竴鏍鳳紝浣嗘垜涓嶆兂鐢ㄥ緢澶歴witch鏉ラ夋嫨錛岃繖鏍峰緢楹葷儲錛岃屼笖鎵╁睍鏇撮夯鐑︺傞偅鎴戝氨瀹氫箟涓涓娊璞$被錛屽皢鎴戦渶瑕佽皟鐢ㄧ殑璧勬簮鍏ㄩ儴鏀懼湪閲岄潰錛屽垵濮嬪寲綾葷殑鏃跺欐垜浠彲浠ュ厛澹版槑涓涓?br>ResFactory factory;
褰撴垜浠渶瑕佷嬌鐢ㄩ珮妗f満鐨勬椂鍊欏氨
factory=new HighResFact();
浣跨敤浣庢。鏈虹殑鏃跺欏氨
factory=new LowResFact();

榪欐牱錛屽氨鍙互寰堟柟渚跨殑璋冪敤鑷繁鎯寵皟鐢ㄧ殑瀵硅薄錛岃屼笖涓嶇敤鑰冭檻鏈夋病鏈夋彁渚涚浉搴旀柟娉曪紝鍦ㄦ墿灞曞拰淇敼鐨勬椂鍊欐洿鍔犳柟渚匡紝鍥犱負鎶借薄鍜屽疄鐜板叏閮ㄥ垎寮浜嗭紝榪欎篃鏄垜浠湪騫沖父緙栫▼褰撲腑闇瑕佹敞鎰忕殑銆?br>

                                                         

TiGERTiAN 2007-04-26 21:11 鍙戣〃璇勮
]]>
Bridge Patternhttp://www.tkk7.com/TiGERTiAN/archive/2007/04/08/109226.htmlTiGERTiANTiGERTiANSun, 08 Apr 2007 06:27:00 GMThttp://www.tkk7.com/TiGERTiAN/archive/2007/04/08/109226.htmlhttp://www.tkk7.com/TiGERTiAN/comments/109226.htmlhttp://www.tkk7.com/TiGERTiAN/archive/2007/04/08/109226.html#Feedback2http://www.tkk7.com/TiGERTiAN/comments/commentRss/109226.htmlhttp://www.tkk7.com/TiGERTiAN/services/trackbacks/109226.html妗ユ帴妯″紡錛屽紩鐢?#8220;鍥涗漢甯殑璇?#8221;灝辨槸 “decouple an abstraction from its implementation so that the two can vary independently”錛屾娊璞′笌琛屼負鍒嗙銆?br>
璇翠釜渚嬪瓙

瀹㈡埛鎯崇敾鍥撅紝鐢諱袱縐嶅渾鍜岀煩褰紝姣忕鐭╁艦閮借璋冪敤鐗瑰埆鐨勫垝綰匡紙draw_a_line()錛夋柟娉曪紝姣忎竴縐嶅渾涔熸槸銆傚鏋滃儚涓婇潰閭f牱錛屾槸涓嶆槸鎰熻娣蜂貢浜嗙偣錛熺湅鐪嬩笅闈㈢殑鍛€?br>
榪欎釜鏄笉鏄垝鏈嶇偣錛熺殑紜紝鍥懼艦鍜岀敾娉曢兘瀛樺湪涓涓瀵瑰簲鐨勫叧緋伙紝鎴戜滑瀹屽叏鍙互鎶婂浘褰㈣繖涓娊璞″拰鐢繪硶榪欎釜琛屼負鍒嗙錛岃屼笉闇瑕佷竴涓敾娉曞搴斿涓娊璞★紝濡備笂闈㈤偅涓?br>

public abstract class Shape
{
    
public abstract void draw();
}


//鐢葷偣鍜屽渾鐨勬柟娉?/span>
public abstract class ShapeDrawing
{
    
public abstract void draw_a_line();
    
public abstract void draw_a_circle();
}


public class ShapeDrawingSingleton
{
    
private static ShapeDrawing shapedrawingSingleton;
    
    
public ShapeDrawingSingleton(ShapeDrawing shapedrawing)
    
{
        shapedrawingSingleton
=shapedrawing;
    }

    
    
public static ShapeDrawing getShapeDrawing()
    
{
        
return shapedrawingSingleton;
    }

}


//鐢誨浘鏂規硶鍩虹被
public class VShape extends Shape
{
    
public ShapeDrawing shapedrawing;
    
    
public void setShapeDrawing()
    
{
        
this.shapedrawing=ShapeDrawingSingleton.getShapeDrawing();
    }

    
    
public ShapeDrawing getShapeDrawing()
    
{
        
return this.shapedrawing;
    }

}


public class V1Circle extends VShape
{
    
public Circle(){setShapeDrawing();}
    
    
public void draw()
    
{
        
//鐢╯hapedrawing鐢誨渾
        
//shapedrawing.draw_a_circle()
    }

}


//
//V1Rectangle鍜孷2緋誨垪鍙傜収涓婇潰鐨?br>//

public class DP1ShapeDrawing extends ShapeDrawing
{
    
public void draw_a_line(){};
    
public void draw_a_circle(){};
}


public class DP2ShapeDrawing extends ShapeDrawing
{
    
public void draw_a_line(){};
    
public void draw_a_circle(){};
}


ShapeDrawingSingleton shapedrawingSingleton
=new ShapeDrawingSingleton(new DP1ShapeDrawing());

V1Circle v1circle
=new V1Circle();
v1circle.draw();

//鍏朵粬鐨勭被浼間簬涓婇潰鐨?/span>




TiGERTiAN 2007-04-08 14:27 鍙戣〃璇勮
]]>
Strategy Patternhttp://www.tkk7.com/TiGERTiAN/archive/2007/04/07/109118.htmlTiGERTiANTiGERTiANSat, 07 Apr 2007 09:23:00 GMThttp://www.tkk7.com/TiGERTiAN/archive/2007/04/07/109118.htmlhttp://www.tkk7.com/TiGERTiAN/comments/109118.htmlhttp://www.tkk7.com/TiGERTiAN/archive/2007/04/07/109118.html#Feedback0http://www.tkk7.com/TiGERTiAN/comments/commentRss/109118.htmlhttp://www.tkk7.com/TiGERTiAN/services/trackbacks/109118.html榪欐牱緇熶竴灝嗗璞′氦緇欏浐瀹氭帴鍙o紝鑰屽閮ㄥ彧瑕佽皟鐢ㄨ繖涓帴鍙e嵆鍙?br>浠ヤ笅鏄?#8220;鍥涗漢甯?#8221;鐨勮娉曘?br>
Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.[6]





public class TaskController {
  
public void process () {
     
// this code is an emulation of a
     
// processing task controller
     
// . . .
     
// figure out which country you are in
     CalcTax myTax;
     myTax
= getTaxRulesForUS();
     SalesOrder mySO
= new SalesOrder();
     mySO.process( myTax);// 褰撶劧浣犺繕鍙互璁﹎yTax=getTaxRulesForCan();榪欐牱mySo.process(myTax)灝變細鎸夌収鍔犳嬁澶х殑紼庣巼澶勭悊
  }

  
private CalcTax getTaxRulesForUS() {
     
// In real life, get the tax rules based on
     
// country you are in.  You may have the
     
// logic here or you may have it in a
     
// configuration file
     
// Here, just return a USTax so this
     
// will compile.
     return new USTax();
  }

}


public class SalesOrder {
   
public void process (CalcTax taxToUse) {
      
long itemNumber= 0;
      
double price= 0;

      
// given the tax object to use

      
// . . .

      
// calculate tax
      double tax=
         taxToUse.taxAmount( itemNumber, price);
   }

}


public abstract class CalcTax {
   
abstract public double taxAmount(
      
long itemSold, double price);
}


public class CanTax extends CalcTax {
   
public double taxAmount(
      
long itemSold, double price) {
      
// in real life, figure out tax according to
      
// the rules in Canada and return it
      
// here, return 0 so this will compile
      return 0.0;
   }

}

public class USTax extends CalcTax {
   
public double taxAmount(
      
long itemSold, double price) {
      
// in real life, figure out tax according to
      
// the rules in the US and return it
      
// here, return 0 so this will compile
      return 0.0;
   }

}


瀹為檯鏁翠釜Strategy鐨勬牳蹇冮儴鍒嗗氨鏄娊璞$被鐨勪嬌鐢?浣跨敤Strategy妯″紡鍙互鍦ㄧ敤鎴烽渶瑕佸彉鍖栨椂,淇敼閲忓緢灝?鑰屼笖蹇?

Strategy鍜孎actory鏈変竴瀹氱殑綾諱技,Strategy鐩稿綆鍗曞鏄撶悊瑙?騫朵笖鍙互鍦ㄨ繍琛屾椂鍒昏嚜鐢卞垏鎹€侳actory閲嶇偣鏄敤鏉ュ垱寤哄璞°?/p>

Strategy閫傚悎涓嬪垪鍦哄悎:

1.浠ヤ笉鍚岀殑鏍煎紡淇濆瓨鏂囦歡;

2.浠ヤ笉鍚岀殑綆楁硶鍘嬬緝鏂囦歡;

3.浠ヤ笉鍚岀殑綆楁硶鎴幏鍥捐薄;

4.浠ヤ笉鍚岀殑鏍煎紡杈撳嚭鍚屾牱鏁版嵁鐨勫浘褰?姣斿鏇茬嚎 鎴栨鍥綽ar絳?/p>

TiGERTiAN 2007-04-07 17:23 鍙戣〃璇勮
]]>
Facade Patternhttp://www.tkk7.com/TiGERTiAN/archive/2007/04/05/108807.htmlTiGERTiANTiGERTiANThu, 05 Apr 2007 14:40:00 GMThttp://www.tkk7.com/TiGERTiAN/archive/2007/04/05/108807.htmlhttp://www.tkk7.com/TiGERTiAN/comments/108807.htmlhttp://www.tkk7.com/TiGERTiAN/archive/2007/04/05/108807.html#Feedback0http://www.tkk7.com/TiGERTiAN/comments/commentRss/108807.htmlhttp://www.tkk7.com/TiGERTiAN/services/trackbacks/108807.html濡傛灉鏈変竴涓緢澶嶆潅鐨勭郴緇燂紝浣嗕綘鍙兂鐢ㄩ噷闈㈢殑涓閮ㄥ垎鍔熻兘錛屾庝箞鍔烇紵
鐢‵acade Pattern鎬濇兂錛屾妸涓浜涘鏉傜殑鍔熻兘妯″潡鍒嗗垎娓呮錛岀劧鍚庨噸鏂板啓涓涓姛鑳芥帴鍙f潵緇勭粐浣犳兂瑕佺殑榪欎簺鍔熻兘錛岃繖鏍峰氨鍙互寰堟柟渚跨殑榪涜璋冪敤錛屽姝ゆ柟渚挎竻妤氾紝浣曚箰鑰屼笉涓哄憿錛熷樋鍢?/p>

TiGERTiAN 2007-04-05 22:40 鍙戣〃璇勮
]]>
Adapter Patternhttp://www.tkk7.com/TiGERTiAN/archive/2007/04/05/108805.htmlTiGERTiANTiGERTiANThu, 05 Apr 2007 14:32:00 GMThttp://www.tkk7.com/TiGERTiAN/archive/2007/04/05/108805.htmlhttp://www.tkk7.com/TiGERTiAN/comments/108805.htmlhttp://www.tkk7.com/TiGERTiAN/archive/2007/04/05/108805.html#Feedback0http://www.tkk7.com/TiGERTiAN/comments/commentRss/108805.htmlhttp://www.tkk7.com/TiGERTiAN/services/trackbacks/108805.htmlclass Circle extends Shape {
 
 
private XXCircle myXXCircle;
 
 
public Circle () {
   myXXCircle
= new XXCircle();
 }


 
void public display() {
    myXXCircle.displayIt();
 }

 
}



鏌愪漢鍐欎簡涓涓猉XCircle綾伙紝鍜屾垜灝嗚鍐欑殑Circle綾誨姛鑳界浉鍚岋紝浣嗕粬娌℃湁緇ф壙Shape綾伙紝鎴戝浣曚嬌鐢ㄥ畠鐨勭被鑰屼笉鐢ㄩ噸鍐欏憿錛熻瘯鐢ˋdapter Pattern錛屽涓婃墍紺猴紝灝嗕粬鐨勬柟娉曞彉涓烘垜鐨凜ircle綾葷殑涓涓垚鍛樺彉閲忥紝榪欐牱灝卞敖鍙互璋冪敤瀹冪殑鏂規硶浜嗐傘傚搱鍝?

TiGERTiAN 2007-04-05 22:32 鍙戣〃璇勮
]]>
主站蜘蛛池模板: caoporn国产精品免费| 香蕉视频在线观看免费| 7x7x7x免费在线观看| 亚洲狠狠综合久久| 成年人在线免费看视频| 1000部拍拍拍18勿入免费视频下载| 十八禁的黄污污免费网站| 一级毛片在播放免费| 黄网站色视频免费看无下截| 亚洲欧洲无码AV不卡在线| 亚洲一级大黄大色毛片| 亚洲男女一区二区三区| 亚洲精品国产av成拍色拍| 亚洲精品乱码久久久久久蜜桃图片 | 免费精品国产自产拍在线观看图片| 日本高清不卡aⅴ免费网站| 久久免费观看国产精品88av| 91精品视频在线免费观看| 国产精品免费网站| 国产成人无码免费视频97| MM131亚洲国产美女久久| 亚洲av无码国产精品色午夜字幕| 亚洲美女视频网站| 亚洲AV无码片一区二区三区| 一区二区3区免费视频| 在线看片免费人成视频久网下载 | 免费电视剧在线观看| 亚洲av无码不卡私人影院| 亚洲人成图片小说网站| 一本色道久久综合亚洲精品蜜桃冫| 亚洲AV无码一区二区三区久久精品| 国产成人不卡亚洲精品91| 免费无码H肉动漫在线观看麻豆| 免费三级毛片电影片| 一本久久a久久精品亚洲| 久久精品国产亚洲av麻豆蜜芽| 免费无码成人AV在线播放不卡| 免费国产成人午夜电影| 亚洲视频无码高清在线| 青柠影视在线观看免费高清| 成人永久免费高清|