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

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

TiGERTiAN 2007-04-05 22:40 鍙戣〃璇勮
]]>
Adapter Patternhttp://m.tkk7.com/TiGERTiAN/archive/2007/04/05/108805.htmlTiGERTiANTiGERTiANThu, 05 Apr 2007 14:32:00 GMThttp://m.tkk7.com/TiGERTiAN/archive/2007/04/05/108805.htmlhttp://m.tkk7.com/TiGERTiAN/comments/108805.htmlhttp://m.tkk7.com/TiGERTiAN/archive/2007/04/05/108805.html#Feedback0http://m.tkk7.com/TiGERTiAN/comments/commentRss/108805.htmlhttp://m.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 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 99精品视频在线观看免费播放| 日韩免费在线视频| 美丽姑娘免费观看在线观看中文版| 永久免费观看的毛片的网站| 免费看美女让人桶尿口| 亚洲麻豆精品果冻传媒| 中文字幕无线码免费人妻| 欧美a级成人网站免费| 久久久综合亚洲色一区二区三区 | 国产成人精品久久免费动漫| 国产亚洲自拍一区| 国产亚洲女在线线精品| 日韩在线视频免费看| 亚洲男人天堂2018av| 精品久久久久国产免费| 亚洲日韩在线视频| 99re6在线视频精品免费下载 | jizzjizz亚洲日本少妇| 在线a毛片免费视频观看| 亚洲一区免费视频| 可以免费看黄的网站| 亚洲免费电影网站| 无码国产精品一区二区免费式影视 | 国产精品亚洲一区二区麻豆| 99久久人妻精品免费二区| 亚洲va在线va天堂va不卡下载| 亚洲欧美国产欧美色欲| 欧洲精品免费一区二区三区| 亚洲大尺度无码无码专线一区| 永久黄网站色视频免费直播| 亚洲精品美女久久久久久久| 免费国产在线观看| 免费一区二区三区在线视频| 亚洲日韩中文在线精品第一| 国产男女爽爽爽免费视频| 国产成人麻豆亚洲综合无码精品| 91免费在线视频| 久久久久久亚洲AV无码专区| a毛片免费观看完整| 1区1区3区4区产品亚洲| 免费在线观看的网站|