锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧洲精品成人久久曰,老子影院午夜伦不卡亚洲,亚洲第一永久AV网站久久精品男人的天堂AV http://www.tkk7.com/mikechen/category/52348.html鐢?shù)瀛愬晢鍔℃妧鏈灦鏋?/description>zh-cnMon, 06 Aug 2012 11:24:54 GMTMon, 06 Aug 2012 11:24:54 GMT60緇撴瀯妯″紡-Composite妯″紡http://www.tkk7.com/mikechen/archive/2012/08/06/384936.html闄堢澘闄堢澘Mon, 06 Aug 2012 09:49:00 GMThttp://www.tkk7.com/mikechen/archive/2012/08/06/384936.htmlhttp://www.tkk7.com/mikechen/comments/384936.htmlhttp://www.tkk7.com/mikechen/archive/2012/08/06/384936.html#Feedback0http://www.tkk7.com/mikechen/comments/commentRss/384936.htmlhttp://www.tkk7.com/mikechen/services/trackbacks/384936.html涓錛氫嬌鐢ㄥ満鏅?/strong>

   1錛変嬌鐢ㄧ殑鍦版柟錛氭爲(wèi)褰㈢粨鏋勶紝鍒嗘敮緇撴瀯絳?/p>

   2錛変嬌鐢ㄧ殑濂藉錛氶檷浣庡鎴風(fēng)鐨勪嬌鐢紝涓轟簡杈懼埌鍏冧歡涓庣粍鍚堜歡浣跨敤鐨勪竴鑷存э紝澧炲姞浜嗗厓浠剁殑緙栫爜

   3錛変嬌鐢ㄥ悗鐨勫潖澶勶細(xì)浠g爜涓嶅鏄撶悊瑙o紝闇瑕佷綘璁ょ湡鍘葷爺絀訛紝鍙戠幇鍏冧歡涓庣粍鍚堜歡鏄庝箞緇勫悎鐨?br />

浜岋細(xì)涓涓疄闄呯殑渚嬪瓙

    鐢誨浘褰紝榪欎釜妯″紡錛岀◢寰闅劇悊瑙d竴鐐癸紝鏈変簡渚嬪瓙灝辮鏄庝簡涓鍒囷紝鎴戠敾鐨勫浘鏄敤鎺ュ彛鍋氱殑錛屼唬鐮佸疄鐜版槸鎶借薄綾諱負(fù)鍩虹被錛屼綘鑷繁閫夋嫨浜嗭紝鎺ュ彛涔熷彲浠ャ?/p>

   


1錛夊厛寤虹珛鍥懼艦鍏冧歡

   package com.mike.pattern.structure.composite;
/**
* 鍥懼艦鍏冧歡

* @author taoyu

* @since 2010-6-23
*/
public abstract class Graph {
/**鍥懼艦鍚嶇О*/
protected String name;

public Graph(String name){
   this.name=name;
}

/**鐢誨浘*/
public abstract void draw()throws GraphException;

/**娣誨姞鍥懼艦*/
public abstract void add(Graph graph)throws GraphException;

/**縐繪帀鍥懼艦*/
public abstract void remove(Graph graph)throws GraphException;

}

2)寤虹珛鍩虹鍥懼艦鍦?/strong>

package com.mike.pattern.structure.composite;
import static com.mike.util.Print.print;

/**
* 鍦嗗浘褰?br />* 
* @author taoyu

* @since 2010-6-23
*/
public class Circle extends Graph {

public Circle(String name){
   super(name);
}

/**
* 鍦嗘坊鍔犲浘褰?br />* @throws GraphException 
*/
@Override
public void add(Graph graph) throws GraphException {
   throw new GraphException("鍦嗘槸鍩虹鍥懼艦錛屼笉鑳芥坊鍔?);
}

/**
* 鍦嗙敾鍥?br />*/
@Override
public void draw()throws GraphException {
   print(name+"鐢誨ソ浜?);
}

/**
* 鍦嗙Щ鎺夊浘褰?br />*/
@Override
public void remove(Graph graph)throws GraphException {
   throw new GraphException("鍦嗘槸鍩虹鍥懼艦錛屼笉鑳界Щ鎺?);
}

}

3錛夊緩绔嬪熀紜鍥懼艦闀挎柟褰?/strong>

package com.mike.pattern.structure.composite;
import static com.mike.util.Print.print;
/**
* 闀挎柟褰?br />* 
* @author taoyu

* @since 2010-6-23
*/
public class Rectangle extends Graph {

public Rectangle(String name){
   super(name);
}

/**
* 闀挎柟褰㈡坊鍔?br />*/
@Override
public void add(Graph graph) throws GraphException {
   throw new GraphException("闀挎柟褰㈡槸鍩虹鍥懼艦錛屼笉鑳芥坊鍔?);
}

/**
* 鐢婚暱鏂瑰艦
*/
@Override
public void draw() throws GraphException {
   print(name+"鐢誨ソ浜?);
}

@Override
public void remove(Graph graph) throws GraphException {
   throw new GraphException("闀挎柟褰㈡槸鍩虹鍥懼艦錛屼笉鑳界Щ鎺?);
}

}

4錛夋渶鍚庣畝鍘嗙粍鍚堝浘褰?/strong>

package com.mike.pattern.structure.composite;

import java.util.ArrayList;
import java.util.List;
import static com.mike.util.Print.print;

/**
* 鍥懼艦緇勫悎浣?br />* 
* @author taoyu

* @since 2010-6-23
*/
public class Picture extends Graph {
private List<Graph> graphs;

public Picture(String name){
   super(name);
   /**榛樿鏄?0涓暱搴?/
   graphs=new ArrayList<Graph>();
}


/**
* 娣誨姞鍥懼艦鍏冧歡
*/
@Override
public void add(Graph graph) throws GraphException {
   graphs.add(graph);
}

/**
* 鍥懼艦鍏冧歡鐢誨浘
*/
@Override
public void draw() throws GraphException {
   print("鍥懼艦瀹瑰櫒錛?+name+" 寮濮嬪垱寤?);
   for(Graph g : graphs){
    g.draw();
   }
}

/**
* 鍥懼艦鍏冧歡縐繪帀鍥懼艦鍏冧歡
*/
@Override
public void remove(Graph graph) throws GraphException {
   graphs.remove(graph);
}

}

5錛夋渶鍚庢祴璇?/strong>

public static void main(String[] args)throws GraphException {
   /**鐢諱竴涓渾錛屽渾閲屽寘鍚竴涓渾鍜岄暱鏂瑰艦*/
   Picture picture=new Picture("绔嬫柟浣撳渾");
   picture.add(new Circle("鍦?));
   picture.add(new Rectangle("闀挎柟褰?));
  
   Picture root=new Picture("鎬墿鍥懼艦"); 
   root.add(new Circle("鍦?));
   root.add(picture);
   root.draw();
}

6)浣跨敤蹇冨緱錛氱殑紜檷浣庝簡瀹㈡埛绔殑浣跨敤鎯呭喌錛岃鏁翠釜鍥懼艦鍙帶浜嗭紝褰撴槸浣犺娣卞叆鍘葷悊瑙o紝鎵嶇湡鍚嶆槑鐧介噰鐢ㄨ妯″紡鐨勫惈涔夛紝涓嶅お瀹規(guī)槗鐞嗚В銆?/p>

闄堢澘 2012-08-06 17:49 鍙戣〃璇勮
]]>
緇撴瀯妯″紡-Adapter閫傞厤鍣ㄦā寮?/title><link>http://www.tkk7.com/mikechen/archive/2012/08/06/384935.html</link><dc:creator>闄堢澘</dc:creator><author>闄堢澘</author><pubDate>Mon, 06 Aug 2012 09:38:00 GMT</pubDate><guid>http://www.tkk7.com/mikechen/archive/2012/08/06/384935.html</guid><wfw:comment>http://www.tkk7.com/mikechen/comments/384935.html</wfw:comment><comments>http://www.tkk7.com/mikechen/archive/2012/08/06/384935.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/mikechen/comments/commentRss/384935.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/mikechen/services/trackbacks/384935.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; "><strong>涓錛氫嬌鐢ㄥ満鏅?/strong></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; ">     1錛変嬌鐢ㄧ殑鍦版柟錛氭垜鎯充嬌鐢ㄤ袱涓笉鍚岀被鐨勬柟娉曪紝榪欎釜鏃跺欎綘闇瑕佹妸瀹冧滑緇勫悎璧鋒潵浣跨敤</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; ">     2錛夌洰鍓嶄嬌鐢ㄧ殑鎯呭喌錛氭垜浼?xì)鎶婁袱涓c葷敤鎴風(fēng)粍鍚堢殑鏂瑰紡鏀懼埌涓璧鳳紝緙栫▼鎬濇兂think in java閲屽凡緇忔彁鍒頒釜錛岃兘灝介噺鐢ㄧ粍鍚堝氨鐢ㄧ粍鍚堬紝緇ф壙涓鑸冭檻鍐嶅悗銆?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; ">     3錛変嬌鐢ㄥ悗鐨勫ソ澶勶細(xì)浣犱笉闇瑕佹敼鍔ㄤ互鍓嶇殑浠g爜錛屽彧鏄柊灝佽浜嗕竴鏂扮被錛岀敱榪欎釜綾繪潵鎻愪緵涓や釜綾葷殑鏂規(guī)硶錛岃繖涓椂鍊欙細(xì)涓瀹氫細(xì)鎯沖埌facade澶栬妯″紡錛屾湰鏉ユ槸澶氫釜綾諱嬌鐢ㄧ殑鎯呭喌錛屾垜鏂板皝瑁呮垚涓涓被鏉ヤ嬌鐢紝鑰岃繖涓被鎴戦噰鐢ㄧ粍鍚堢殑鏂瑰紡鏉ュ寘瑁呮柊鐨勬柟娉曘傛垜鐨勭悊瑙f槸錛岃璁℃ā寮忔湰韜氨鏄負(fù)浜嗗府鍔╄В鍐崇壒瀹氱殑涓氬姟鍦烘櫙鑰屾晠鎰忔妸妯″紡鍒掑垎瀵瑰簲鐨勬ā寮忕被鍒紝鍏跺疄澶у鏁版儏鍐碉紝閮借В鍐充簡鍚屾牱鐨勯棶棰橈紝榪欎釜鏃跺欏叾瀹炴病鏈夊繀瑕佽繃澶氱殑綰犵紶鍒版ā寮忕殑鍚嶅瓧涓婁簡錛屼綘鏈夊ソ鐨勬敞鎰忥紝浣犵敋鑷沖彇涓涓柊鐨勫悕瀛楁潵姒傛嫭榪欐牱鐨勪嬌鐢ㄥ満鏅?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; ">    4錛変嬌鐢ㄧ殑鍧忓錛氶傞厤鍣ㄦā寮忥紝鏈変袱縐嶆柟寮忔潵瀹炵幇銆備竴涓槸緇勫悎涓涓槸緇ф壙錛屾垜瑙夊緱錛岄鍏堝簲璇ヨ冭檻緇勫悎錛岃兘鐢ㄧ粍鍚堝氨涓嶈鐢ㄧ戶鎵匡紝榪欐槸絎竴涓傜浜屼釜錛屼綘閲囩敤緇ф壙鏉ュ疄鐜幫紝閭h偗瀹氫細(xì)鍔犲ぇ緇ф壙鏍?wèi)缁撴瀯锛屽鏋滀綘鐨劸lф壙鍏崇郴鏈韓灝卞緢澶嶆潅浜嗭紝榪欒偗瀹氫細(xì)鍔犲ぇ緇ф壙鍏崇郴鐨勭淮鎶わ紝涓嶆湁鍒╀簬浠g爜鐨勭悊瑙o紝鎴栧垯鏇村姞綣佺悙銆傜戶鎵挎槸涓轟簡瑙e喅閲嶇敤鐨勪負(fù)棰樿屽嚭鐜扮殑錛屾墍浠ユ垜瑙夊緱涓嶅簲璇ユ互鐢ㄧ戶鎵匡紝鏈夋満浼?xì)鍙互鑰冭檻鍚屾牱鍒殑鏂規(guī)銆?br /><br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; "><strong>浜岋細(xì)涓涓疄闄呯殑渚嬪瓙</strong></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; ">      鍏寵仈钀ラ攢鐨勪緥瀛愶紝鐢ㄦ埛璐拱瀹屽晢鍝佸悗錛屾垜鍙堟帹鑽愪粬鐩稿叧鍒殑鍟嗗搧</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; ">      鐢變簬鍑忓皯浠g爜錛屾柟娉曟垜閮戒笉閲囩敤鎺ュ彛錛岀洿鎺ョ敱綾繪潵鎻愪緵錛屼唬鐮佸彧鏄竴涓寖渚嬭屽凡錛岄兘綺劇畝浜嗐?/p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; "><strong>1)鍒涘緩璁㈠崟淇℃伅</strong></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; ">public class Order {<br />private Long orderId;<br />private String nickName;<br /><br />public Order(Long orderId,String nickName){<br />   this.orderId=orderId;<br />   this.nickName=nickName;<br />}<br /><br />/**<br />* 鐢ㄦ埛涓嬭鍗?br />*/<br />public void insertOrder(){<br />  <br />}<br />}<br /><br /></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; "><strong>2錛夊晢鍝佷俊鎭?/strong></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; ">public class Auction {<br />/**鍟嗗搧鍚嶇О*/<br />private String name;<br /><br />/**鍒墮犲晢*/<br />private String company;<br /><br />/**鍒墮犳棩鏈?/<br />private Date date;<br /><br /><br />public Auction(String name,String company, Date date){<br />   this.name=name;<br />   this.company=company;<br />   this.date=date;<br />}<br /><br />/**<br />* 鎺ㄥ箍鐨勫晢鍝佸垪琛?br />*/<br />public void commendAuction(){<br />  <br />}<br /><br />}</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; "><strong>3錛夎喘鐗?/strong></p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; ">public class Trade {<br />/**鐢ㄦ埛璁㈠崟*/<br />private Order order;<br /><br />/**鍟嗗搧淇℃伅*/<br />private Auction auction;<br /><br />public Trade(Order order ,Auction auction){<br />   this.order=order;<br />   this.auction=auction;<br />}<br /><br />/**<br />* 鐢ㄦ埛浜х敓璁㈠崟浠ュ強鍚庣畫鐨勪簨鎯?br />*/<br />public void trade(){<br />   /**涓嬭鍗?/<br />   order.insertOrder();<br />  <br />   /**鍏寵仈鎺ㄨ崘鐩稿叧鐨勫晢鍝?/<br />   auction.commendAuction();<br />}<br /><br />}</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 寰蔣闆呴粦, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; "><strong>   4錛変嬌鐢ㄥ績寰楋細(xì)</strong>鍏跺疄澶栭潰閲囩敤浜嗗緢澶氱戶鎵跨殑鏂瑰紡錛宱rder緇ф壙auction涔嬪悗錛屽埄鐢╯uper .inserOrder()鍐嶅姞涓涓猘uction.recommendAuction(),瀹為檯涓婂ぇ鍚屽皬寮傦紝鎴戝埌瑙夊緱閲囩敤緇勫悎鏇村鏄撶悊瑙d互鍙婁唬鐮佹洿鍔犱紭緹庣偣銆?/p><img src ="http://www.tkk7.com/mikechen/aggbug/384935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/mikechen/" target="_blank">闄堢澘</a> 2012-08-06 17:38 <a href="http://www.tkk7.com/mikechen/archive/2012/08/06/384935.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍒涘緩妯″紡-Builder妯″紡http://www.tkk7.com/mikechen/archive/2012/08/06/384934.html闄堢澘闄堢澘Mon, 06 Aug 2012 09:37:00 GMThttp://www.tkk7.com/mikechen/archive/2012/08/06/384934.htmlhttp://www.tkk7.com/mikechen/comments/384934.htmlhttp://www.tkk7.com/mikechen/archive/2012/08/06/384934.html#Feedback0http://www.tkk7.com/mikechen/comments/commentRss/384934.htmlhttp://www.tkk7.com/mikechen/services/trackbacks/384934.html涓錛氫嬌鐢ㄥ満鏅?/strong>

   1)浣跨敤鍒扮殑鍦版柟錛氬鏋滀綘鎯沖垱寤虹被浼兼苯杞﹁繖鏍風(fēng)殑瀵硅薄錛岄鍏堣鍒涘緩杞瓙錛岀幓鐠冿紝妗屾錛屽彂鍔ㄦ満錛屽寤撶瓑錛岃繖浜涢儴浠墮兘鍒涘緩濂藉悗錛屾渶鍚庡垱寤烘苯杞︽垚鍝侊紝閮ㄤ歡鐨勫垱寤哄拰姹借濺鐨勭粍瑁呰繃紼嬫湰韜兘寰堝鏉傜殑鎯呭喌錛屽笇鏈涙妸閮ㄤ歡鐨勫垱寤哄拰鎴愬搧鐨勭粍瑁呭垎寮鏉ュ仛錛岃繖鏍鋒妸瑕佸仛鐨勪簨鎯呭垎鍓插紑鏉ワ紝闄嶄綆瀵硅薄瀹炵幇鐨勫鏉傚害錛屼篃闄嶄綆浠ュ悗鎴愭湰鐨勭淮鎶わ紝鎶婃苯杞︾殑閮ㄤ歡鍒涘緩鍜岀粍瑁呰繃紼嬬嫭绔嬪嚭涓や釜瀵瑰簲鐨勫伐鍘傛潵鍋氾紝鏈夌偣綾諱技寤虹珛涓や釜瀵瑰簲鐨勯儴浠跺垱寤哄伐鍘傚拰姹借濺緇勮宸ュ巶涓や釜宸ュ巶錛岃屽伐鍘傚彧鏄垱寤轟竴涓垚鍝侊紝騫舵病鏈夋妸閲岄潰鐨勬楠や篃鐙珛鍑烘潵錛屽簲璇ヨBuilder妯″紡姣斿伐鍘傛ā寮忓張榪涗簡涓姝ャ?/p>

    2錛夐噰鐢˙uilder妯″紡鍚庣殑濂藉錛氭妸涓涓礋璐g殑瀵硅薄鐨勫垱寤鴻繃紼嬪垎瑙o紝鎶婁竴涓璞$殑鍒涘緩鍒嗘垚涓や釜瀵硅薄鏉ヨ礋璐e垱寤猴紝浠g爜鏇存湁鍒╀簬緇存姢錛屽彲鎵╂ф瘮杈冨ソ銆?/p>

   3錛夐噰鐢˙uilder妯″紡鍚庣殑鍧忓錛氬疄鐜拌搗鏉ワ紝瀵瑰簲鐨勬帴鍙d互鍙婇儴浠剁殑瀵硅薄鐨勫垱寤烘瘮杈冨錛屼唬鐮佺浉瀵規(guī)潵璁詫紝姣旇緝澶氫簡錛屼及璁″垰寮濮嬩綘浼?xì)鏈夌傄?guī)檿錛岃繖涓彲浠ヨ冭檻浠g爜綺劇畝鐨勯棶棰橈紝澧炲姞浠g爜鐨勫彲璇繪с? 

浜岋細(xì)涓涓疄闄呯殑渚嬪瓙

姹借濺鐨勭粍瑁?/strong>

  1)棣栧厛鍒涘緩姹借濺榪欎釜鎴愬搧瀵硅薄錛屽寘鍚粈涔堢殑鎴愬憳

public class Car implements Serializable{

/**
* 姹借濺搴忓垪鍙?br />*/
private static final long serialVersionUID = 1L;

/**姹借濺杞瓙*/
private Wheel wheel;

/**姹借濺鍙戝姩鏈?/
private Engine engine;

/**姹借濺鐜葷拑*/
private Glass glass;

/**姹借濺搴ф*/
private Chair chair;


public Wheel getWheel() {
   return wheel;
}

public void setWheel(Wheel wheel) {
   this.wheel = wheel;
}

public Engine getEngine() {
   return engine;
}

public void setEngine(Engine engine) {
   this.engine = engine;
}

public Glass getGlass() {
   return glass;
}

public void setGlass(Glass glass) {
   this.glass = glass;
}

public Chair getChair() {
   return chair;
}

public void setChair(Chair chair) {
   this.chair = chair;
}

}

2錛夊垱寤哄搴旀苯杞﹂浂閮ㄤ歡

public class Wheel {
public Wheel(){
   print("--姹借濺杞瓙鏋勫緩瀹屾瘯--");
}
}

public class Engine {
public Engine(){
   print("--姹借濺鍙戝姩鏈烘瀯寤哄畬姣?-");
}
}

public class Glass {
public Glass(){
   print("--姹借濺鐜葷拑鏋勫緩瀹屾瘯--");
}
}

public class Chair {
public Chair(){
   print("--姹借濺搴ф鏋勫緩瀹屾瘯--");
}
}

3錛夊紑濮嬮噸鐐逛簡錛屾苯杞︽垚鍝佺殑緇勮榪囩▼

   public interface Builder {
/**緇勮姹借濺杞瓙*/
public void buildWheel();

/**緇勮姹借濺鍙戝姩鏈?/
public void buildEngine();

/**緇勮姹借濺鐜葷拑*/
public void buildGlass();

/**緇勮姹借濺搴ф*/
public void buildChair();

/**榪斿洖緇勮濂界殑姹借濺*/
public Car getCar();
}

浠ュ強瀹炵幇綾?/p>

public class CarBuilder implements Builder {
/**姹借濺鎴愬搧*/
private Car car;

public CarBuilder(){
   car=new Car();
}

/**緇勮姹借濺杞瓙*/
@Override
public void buildChair() {
   car.setChair(new Chair());
}

/**緇勮姹借濺鍙戝姩鏈?/
@Override
public void buildEngine() {
   car.setEngine(new Engine());
}

/**緇勮姹借濺鐜葷拑*/
@Override
public void buildGlass() {
   car.setGlass(new Glass());
}

/**緇勮姹借濺搴ф*/
@Override
public void buildWheel() {
   car.setWheel(new Wheel());
}

/**榪斿洖緇勮濂界殑姹借濺*/
@Override
public Car getCar() {
   buildChair();
   buildEngine();
   buildGlass();
   buildWheel();
   print("--鏁翠釜姹借濺鏋勫緩瀹屾瘯--");
   return car;
}

}

4錛夋渶鍚庢苯杞﹀垱寤烘祴璇?/strong>

   public static void main(String[] args) {
   /**鍒涘緩姹借濺緇勮*/
   Builder carBuilder=new CarBuilder();
   Car car=carBuilder.getCar();
}

   鏈鍚庤緭鍑猴細(xì)

--姹借濺搴ф鏋勫緩瀹屾瘯--
--姹借濺鍙戝姩鏈烘瀯寤哄畬姣?-
--姹借濺鐜葷拑鏋勫緩瀹屾瘯--
--姹借濺杞瓙鏋勫緩瀹屾瘯--
--鏁翠釜姹借濺鏋勫緩瀹屾瘯--

   5錛?strong>浣撲細(xì)蹇冨緱錛?/strong>Builder妯″紡瀹為檯鐨勯噸鐐瑰氨鎶婃苯杞︾殑緇勮榪囩▼鍜岄浂閮ㄤ歡鐨勭敓浜у垎寮鏉ュ疄鐜幫紝闆墮儴浠剁殑鐢熸垚涓昏闈犺嚜宸辯殑瀵硅薄鏉ュ疄鐜幫紝鎴戜笂闈㈠彧鏄湪鏋勯犲嚱鏁伴噷鍒涘緩浜嗭紝姣旇緝綆鍗曪紝鑰岄噸鐐規(guī)苯杞︾殑緇勮鍒欎氦緇機(jī)arBuilder鏉ュ疄鐜幫紝鏈緇堢敱builder鏉ュ厛璐熻矗闆墮儴浠剁殑鍒涘緩錛屾渶鍚庤繑鍥炲嚭鎴愬搧鐨勬苯杞︺?/p>

闄堢澘 2012-08-06 17:37 鍙戣〃璇勮
]]>
鍒涘緩妯″紡-singleon鍗曚緥妯″紡http://www.tkk7.com/mikechen/archive/2012/08/06/384932.html闄堢澘闄堢澘Mon, 06 Aug 2012 09:33:00 GMThttp://www.tkk7.com/mikechen/archive/2012/08/06/384932.htmlhttp://www.tkk7.com/mikechen/comments/384932.htmlhttp://www.tkk7.com/mikechen/archive/2012/08/06/384932.html#Feedback0http://www.tkk7.com/mikechen/comments/commentRss/384932.htmlhttp://www.tkk7.com/mikechen/services/trackbacks/384932.html涓錛氫嬌鐢ㄥ満鏅?br />

    1錛夌粡甯鎬嬌鐢ㄧ殑鍦版柟錛氫竴涓被鍙湁涓涓疄渚嬶紝eg:欏甸潰璁塊棶緇熻pv錛岀粺璁$殑涓暟灝卞彧鑳戒繚璇佷竴涓疄渚嬬殑緇熻銆?/p>

    2錛夋垜浠洰鍓嶄嬌鐢ㄧ殑鎯呭喌錛氭瘮濡傛垜鎯沖垱寤轟竴涓璞★紝榪欎釜瀵硅薄甯屾湜鍙湁涓浠藉疄渚嬬殑緇存姢錛屽湪鍐呭瓨鐨勪繚瀛樹篃鍙湁涓浠斤紝涔熷氨鏄湪鍚屼竴涓猨vm鐨刯ava鍫嗛噷鍙繚瀛樹竴浠藉疄渚嬪璞★紝鎵浠ヤ綘浼?xì)鎯充竴鍔炴硶錛屽湪鍒涘緩榪欎釜瀵硅薄鐨勬椂鍊欙紝灝卞凡緇忚兘淇濊瘉鍙湁涓浠姐?/p>

    3錛夋庝箞鏀硅繘錛氬畾涔夎瀵硅薄鐨勬椂鍊欙紝灝變繚璇佹槸鍚屼竴浠藉疄渚嬶紝姣斿錛氬畾涔変負(fù)縐佹湁鏋勯犲嚱鏁幫紝闃叉閫氳繃new鐨勬柟寮忓彲浠ュ垱寤哄璞★紝鐒跺悗鍦ㄥ璞¢噷瀹氫箟涓涓潤鎬佺殑縐佹湁鎴愬憳錛堟湰韜璞$殑涓涓疄渚嬶級錛岀劧鍚庡啀鍒涘緩涓涓闈㈣闂瀵硅薄鐨勬柟娉曞氨濂戒簡銆?/p>

    4錛夋敼榪涚殑濂藉錛氫唬鐮佸湪緙栬瘧浠g爜榪欎釜綰у埆灝辮鎺у埗浜嗭紝涓嶈嚦浜庡湪jvm閲岃繍琛岀殑鏃跺欐墠鏉ヤ繚璇侊紝鎶婂敮涓瀹炰緥鐨勫垱寤轟繚璇佸湪緙栬瘧闃舵錛沯vm閲屽唴瀛樺彧鏈変竴浠斤紝浠庤屽唴瀛樺崰鏈夌巼鏇翠綆錛屼互鍙婃洿鏂逛究java鍨冨溇鍥炴敹

    5錛夋敼榪涘悗鐨勫潖澶勶細(xì)鍙兘鏄唬鐮佺◢寰渶瑕佹洿澶氱偣錛屽叾瀹炲ぇ瀹舵渶鍚庡彂鐜版敼榪涘悗鐨勫潖澶勶紝閮芥槸浠g爜瀹氫箟姣斾箣闂磋澶氫竴鐐癸紝浣嗕互鍚庣殑緇存姢浠g爜灝遍檷涓嬫潵浜嗭紝涔熺煭鏆傜殑浠g爜閲忓亸澶ф潵鎹㈠彇浠ュ悗浠g爜鐨勭簿綆銆?br />

浜岋細(xì)涓涓疄闄呯殑渚嬪瓙

鎬諱綋鐨勪緥瀛?/p>

package com.mike.pattern.singleton;

/**
* 鎬葷粺

* @author taoyu

* @since 2010-6-22
*/
public class President {
private President(){
   System.out.println("鎬葷粺宸茬粡閫変婦鍑烘潵浜?);
}

/**鎬葷粺鍙湁涓涓?/
private static President president=new President();

/**
* 榪斿洖鎬葷粺
*/
public static President getPresident(){
   return president;
}

/**
* 鎬葷粺瀹e竷閫変婦鎴愬姛
*/
public void announce(){
   System.out.println("浼熷ぇ鐨勪腑鍥戒漢姘戯紝鎴戝皢鎴愪綘浠柊鐨勬葷粺");
}
}

/**
* @param args
*/
public static void main(String[] args) {
   President president=President.getPresident();
   president.announce();
}



闄堢澘 2012-08-06 17:33 鍙戣〃璇勮
]]>
鍒涘緩妯″紡-宸ュ巶妯″紡http://www.tkk7.com/mikechen/archive/2012/08/06/384931.html闄堢澘闄堢澘Mon, 06 Aug 2012 09:28:00 GMThttp://www.tkk7.com/mikechen/archive/2012/08/06/384931.htmlhttp://www.tkk7.com/mikechen/comments/384931.htmlhttp://www.tkk7.com/mikechen/archive/2012/08/06/384931.html#Feedback0http://www.tkk7.com/mikechen/comments/commentRss/384931.htmlhttp://www.tkk7.com/mikechen/services/trackbacks/384931.html1.浣跨敤鍦烘櫙

     1錛夊瓙綾昏繃澶氾紝涓嶅鏄撶鐞嗭紱鏋勯犲璞¤繃紼嬭繃闀匡紱綺劇畝浠g爜鍒涘緩錛?br />

    2)鐩墠鎴戜滑浠g爜鎯呭喌錛?緙栧啓浠g爜鐨勬椂鍊欙紝鎴戜滑緇忓父閮藉湪new瀵硅薄錛屽垱寤轟竴涓釜鐨勫璞★紝鑰屼笖榪樻湁寰堝楹葷儲鐨勫垱寤烘柟寮忥紝eg:HashMap<String,Float> grade=new HashMap<String,Float>(),榪欐牱鐨勪唬鐮佸垱寤烘柟寮忓お鍐楅暱浜嗭紝闅鵑亾浣犳病鏈夋兂榪囨妸榪欎釜鍒涘緩鍙樼殑鐭竴鐐逛箞錛屾瘮濡傦細(xì)HashMap<String,Float>grade=HashMapFactory.new(),鍙互鎶婁綘鍒涘緩綺劇畝涓鐐癸紱浣犱篃鍙互榪樻湁鍒殑闇姹傦紝鍦ㄥ垱寤哄璞$殑鏃跺欙紝浣犻渶瑕佷笉鍚岀殑鎯呭喌錛屽垱寤虹粺涓縐嶇被鍒殑瀵硅薄錛宔g:鎴戞兂鐢熸垚涓嶅悓鐨勬苯杞︼紝鍒涘緩灝忚嬌杞︼紝鍒涘緩鍗¤濺錛屽垱寤哄叕浜ゆ苯杞︾瓑絳夛紝閮藉睘浜庡悓縐嶇被鍒細(xì)姹借濺錛屼綘闅鵑亾娌℃湁鎯寵繃錛屾垜鎶婅繖浜涘垱寤虹殑瀵硅薄鍦ㄤ竴涓伐鍘傞噷鏉ヨ礋璐e垱寤猴紝鎴戞妸鍒涘緩鍒嗗紑鍖栵紝浜ょ粰涓浜烘潵璐熻矗錛岃繖鏍峰彲浠ヨ浠g爜鏇村姞瀹規(guī)槗綆$悊錛屽垱寤烘柟寮忎篃鍙互綆鍗曠偣銆?/p>

姣斿錛欳ar    BMW=CarFactory.create(bmw);   鎶婂垱寤簄ew鐢變竴涓粺涓璐熻矗錛岃繖鏍風(fēng)鐞嗚搗鏉ョ浉褰撴柟渚?/p>

    3錛夋庝箞鏀硅繘錛氳繖涓椂鍊欙紝浣犱細(xì)鎯沖埌錛屽垱寤鴻繖鏍峰悓綾誨埆鐨勪笢瑗匡紝鎴戞妸榪欎釜鏉冨埄鍒嗗嚭鍘伙紝璁╀竴涓漢鏉ュ崟鐙鐞嗭紝瀹冨彧璐熻矗鍒涘緩鎴戠殑瀵硅薄榪欎釜浜嬫儏錛屾墍浠ヤ綘鍗曠嫭綆鍘嗕竴涓璞℃潵鍒涘緩鍚岀被鐨勫璞★紝榪欎釜鏃跺欙紝浣犳兂榪欎釜涓滆タ鏈夌偣鍍忓伐鍘備竴鏍鳳紝鐢熸垚鍚屾牱鐨勪駭鍝侊紝鎵浠ュ彇浜嗕釜鍚嶅瓧錛氬伐鍘傛ā寮忥紝欏懼悕鎬濅箟錛屽彧璐熻矗瀵硅薄鐨勫垱寤?/p>

    4錛夋敼榪涘悗鐨勫ソ澶勶細(xì)浠g爜鏇村姞瀹規(guī)槗綆$悊浜嗭紝浠g爜鐨勫垱寤鴻綆媧佸緢澶氥?/p>

    5錛夋敼榪涘悗鐨勫潖澶勶細(xì)閭e氨鏄綘闇瑕佸崟鐙姞涓涓伐鍘傚璞℃潵璐熻矗鍒涘緩錛屽闇瑕佸啓鐐逛唬鐮併?br />

2.涓涓疄闄呯殑渚嬪瓙

   鍒涘緩瀹濋┈姹借濺涓庡椹版苯杞︾殑渚嬪瓙

   1錛夊厛鎻愬彇鍑轟竴涓苯杞︾殑鍏敤鎺ュ彛Car

       public interface Car{

          /**琛岄┒*/    

          public void drive();

        }

   2)瀹濋┈鍜屽椹版苯杞﹀璞?/p>

public class BMWCar implements Car {

/**
* 姹借濺鍙戝姩
*/
public void drive(){
   System.out.println("BMW Car drive");
}
}

public class BengCar implements Car {

/**
* 姹借濺鍙戝姩
*/
public void drive(){
   System.out.println("BengChi Care drive");
}
}

    3)鍗曠嫭涓涓苯杞﹀伐鍘傛潵璐熻矗鍒涘緩

     public class FactoryCar {
/**
* 鍒墮犳苯杞?br />*
* @param company 姹借濺鍏徃
* @return 姹借濺
* @throws CreateCarException 鍒墮犳苯杞﹀け璐ュ紓甯?br />*/
public static Car createCar(Company company)throws CreateCarException{
   if(company==Company.BMW){
    return new BMWCar();
   }else if(company==Company.Beng){
    return new BengCar();
   }
   return null;
}
}

    4錛夋渶鍚庣殑浠g爜瀹炵幇錛?/p>

    Car BMWCar=FactoryCar.createCar(Company.BMW);
     BMWCar.drive();



闄堢澘 2012-08-06 17:28 鍙戣〃璇勮
]]>
璁捐妯″紡鎴戠殑鐞嗚Вhttp://www.tkk7.com/mikechen/archive/2012/08/06/384928.html闄堢澘闄堢澘Mon, 06 Aug 2012 09:22:00 GMThttp://www.tkk7.com/mikechen/archive/2012/08/06/384928.htmlhttp://www.tkk7.com/mikechen/comments/384928.htmlhttp://www.tkk7.com/mikechen/archive/2012/08/06/384928.html#Feedback0http://www.tkk7.com/mikechen/comments/commentRss/384928.htmlhttp://www.tkk7.com/mikechen/services/trackbacks/384928.html   1. 鎴戣涓嬫垜瀵硅璁℃ā寮忕殑鐞嗚В錛氫換浣曚竴鏍蜂簨鐗╅兘鏄洜涓烘湁闇姹傜殑椹卞姩鎵嶈癁鐢熺殑錛屾墍浠ヨ璁℃ā寮忎篃涓嶄緥澶栵紝鎴戜滑騫蟲椂鍦ㄧ紪鍐欎唬鐮佺殑鏃跺欙紝闅忕潃鏃墮棿鐨勬繁鍏ワ紝鍙戠幇寰堝浠g爜寰堥毦緇存姢錛屽彲鎵╁睍鎬х駭宸紝浠ュ強浠g爜鐨勬晥鐜囦篃姣旇緝浣庯紝榪欎釜鏃跺欎綘鑲畾浼?xì)鎯冲姙娉曡浠g爜鍙樼殑浼樉煄鍙堣兘瑙e喅浣牂骞鐩腑鐨勯棶棰樺Q屾墍浠ュ湪闈㈠悜瀵硅薄璇█閲岋紝浣犺偗瀹氫細(xì)鍘誨彂鐜板緢澶氬彲浠ラ噸鐢ㄧ殑鍏敤鐨勬柟娉曪紝姣斿錛氭帴鍙g殑瀛樺湪錛屼綘鑷劧灝辨兂鍒頒簡錛岃浣犲畾涔夌殑鏂規(guī)硶涓庝綘鐨勫疄鐜板垎寮錛屼篃鍙互寰堟柟渚挎妸涓嶅悓鐨勭被涓庢帴鍙e尮閰嶈搗鏉ワ紝褰㈡垚浜嗕竴涓叕鐢ㄧ殑鎺ュ彛錛屼綘浼?xì)鍙戠幇杩欐牱鍋氬Q屽ソ澶勪細(xì)鏄潪甯稿鐨勶紝瑙e喅浜嗕綘騫蟲椂鎯蟲妸浠g爜鐨勭敵鏄庝笌閫昏緫瀹炵幇鐨勫垎寮銆?/p>

    2. 榪欎釜鏃跺欙紝浣犲彂鐜頒簡錛屾湰韜潰鍚戝璞$殑璇█閲岋紝宸茬粡鏆楄棌浜嗗緢澶氬ソ澶勶紝浣犺偗瀹氫細(xì)浠旂粏鍘誨垎鏋愰潰鍚戝璞¤繖涓璦錛岃鐪熷幓鎸栨帢閲岄潰鏇村鐨勫ゥ縐橈紝鏈鍚庯紝浣犲彂鐜頒簡錛屽師鏉ヤ綘鍙互鎶婇潰鍚戝璞$殑鐗規(guī)ф彁鍙栨垚涓涓叕鐢ㄧ殑瀹炵幇妗堜緥錛岃繖浜涙渚嬮噷鑳藉府鍔╀綘瑙e喅浣犲鉤鏃剁紪鍐欎唬鐮佺殑鍥版壈錛岃岃繖鏍蜂竴緹や漢錛屽氨鏄墍璋揼of鐨勬垚鍛橈紝浠栦滑浠庡鉤鏃惰璁″緩絳戞柟闈㈡壘鍒頒簡鐏墊劅錛屽緩絳戠殑璁捐涔熷彲浠ュ叕鐢ㄥ寲浠ュ強閲嶇敤鍖栵紝鎵浠ヤ粬浠篃鎻愬彇浜嗙浉鍏崇殑杞歡璁捐鏂歸潰鐨勫叕鐢ㄦ渚嬶紝涔熷氨鏈変簡涓嬮潰鐨勭浉鍏崇殑鎵璋?3縐嶈璁℃ā寮忥紝鑰岄噷闈㈣繖涔堝妯″紡錛屼綘涔熷彲浠ユ妸浠栦滑褰掔被璧鋒潵錛屾渶鍚庡彂鐜板氨鍑犵被妯″紡錛氬垱寤猴紝緇撴瀯錛岃涓虹瓑妯″紡綾誨埆錛岃岃繖浜涚幇鎴愮殑鏂規(guī)錛屼篃鍙互鍦ㄥ疄闄呭簲鐢ㄤ腑鍏呭垎鍙戞尌浣滅敤錛岄殢鐫澶у鐨勪嬌鐢ㄤ互鍙婄悊瑙o紝鍙戠幇鍏跺疄榪欎簺鎵璋撶殑妯″紡閲岋紝浣犵殑紜彲浠ヨ浣犵殑浠g爜鍙樼殑鏇村姞浼樼編涓庣畝緇冦?/p>

    3. 鎴戞瘮杈冨枩嬈㈡妸浠g爜鍙樼殑鏇村姞浼樼編涓庣畝緇冿紝浼樼編鐨勪唬鐮佸氨鏄竴鐪嬪氨鎳傦紝緇撴瀯寰堟竻鏅幫紝鑰岀畝鍘嗗氨鏄竴鐩簡鐒訛紝鍙堝彲浠ヨВ鍐充綘鐨勯棶棰橈紝灝辨槸浠g爜鍙堝皯鏁堢巼鍙堥珮錛屾墍浠ュ鉤鏃惰鍏繪垚鍐檍ava doc鐨勪範(fàn)鎯紝榪欐牱鐨勪唬鐮佹墠涓烘竻鏅幫紝鎵浠ユ墠浼?xì)鏇村姞浼樉煄銆?/p>

    4. 榪欎簺灝辨槸鎴戝璁捐妯″紡鐨勭悊瑙o紝鎵浠ヨ繖涔堝ソ鐨勫疂璐濓紝鎴戜滑涓嶅幓娣卞叆鐨勪簡瑙o紝鐨勭‘鍙儨浜嗭紝榪欏氨鍙珯鍒板法浜虹殑鑲╄唨涓?....



闄堢澘 2012-08-06 17:22 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 一本岛高清v不卡免费一三区| 亚洲精品人成在线观看| 久久久久av无码免费网 | 国产卡一卡二卡三免费入口| 国产精品玖玖美女张开腿让男人桶爽免费看 | 伊伊人成亚洲综合人网7777| 噜噜嘿在线视频免费观看| 免费专区丝袜脚调教视频| 中文无码成人免费视频在线观看| 一级A毛片免费观看久久精品| 亚洲av永久中文无码精品| 亚洲影视自拍揄拍愉拍| 亚洲精品福利在线观看| 亚洲av色福利天堂| 亚洲乱码一区二区三区在线观看| 亚洲国产专区一区| 亚洲阿v天堂在线2017免费| 国产91久久久久久久免费| 日本人护士免费xxxx视频| 日韩高清免费观看| 精品国产免费观看| 日本视频免费在线| 国产中文字幕免费观看| 国产一区二区三区在线免费观看| 成人爱做日本视频免费| 日日AV拍夜夜添久久免费| 国产免费人视频在线观看免费| 日本一道一区二区免费看| 免费国产一级特黄久久| 亚洲精品人成无码中文毛片| 亚洲色一色噜一噜噜噜| 亚洲色成人WWW永久网站| 亚洲妇熟XXXX妇色黄| 亚洲Av熟妇高潮30p| 亚洲第一二三四区| 亚洲jjzzjjzz在线播放| 亚洲第一男人天堂| 色偷偷噜噜噜亚洲男人| 欧洲美女大片免费播放器视频| 国产精品hd免费观看| 日韩精品在线免费观看|