锘??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 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲国产精品xo在线观看| 免费在线视频一区| 亚洲国产精品人久久| 东北美女野外bbwbbw免费| 亚洲成a人片在线观看老师| 国产精品亚洲综合网站| 国产精品免费电影| 亚洲日韩在线中文字幕综合| 日韩a级毛片免费视频| 亚洲AV无码XXX麻豆艾秋| 成年女人免费v片| 亚洲 日韩经典 中文字幕| 免费黄色一级毛片| MM1313亚洲精品无码久久| 日本黄色免费观看| 久久精品熟女亚洲av麻豆| 免费夜色污私人影院在线观看| 国产精品亚洲va在线观看| 亚洲色偷偷狠狠综合网| 国产A∨免费精品视频| 亚洲精品无码成人片久久| 久久综合给合久久国产免费| 亚洲最大的视频网站| 国产精品久久久久免费a∨| 亚洲成a人无码亚洲成www牛牛| 四虎影永久在线高清免费| 欧洲乱码伦视频免费国产| 在线观看亚洲天天一三视| 一级毛片全部免费播放| 亚洲日韩精品无码AV海量| 国产人妖ts在线观看免费视频| 久久免费99精品国产自在现线 | 亚洲欧美成人一区二区三区| 国产一级淫片a视频免费观看| 无遮挡国产高潮视频免费观看| 久久亚洲精品中文字幕无码| 久久精品网站免费观看| 色婷婷综合缴情综免费观看 | 全黄a免费一级毛片人人爱| 中文在线观看国语高清免费| 精品亚洲aⅴ在线观看|