javaÉè¼ÆÄ£Ê½_Compositeģʽ
Compositeģʽ(×éºÏ)
JavaÉîÈëµ½Ò»¶¨³Ì¶È,¾Í²»¿É±ÜÃâµÄÅöµ½Éè¼ÆÄ£Ê½ÕâÒ»¸ÅÄî,Á˽âÉè¼ÆÄ£Ê½,½«Ê¹×Ô¼º¶ÔjavaÖеĽӿڻò³éÏóÀàÓ¦ÓÃÓиüÉîµÄÀí½â.Éè¼ÆÄ£Ê½ÔÚjavaµÄÖÐÐÍϵͳÖÐÓ¦Óù㷺,×ñÑÒ»¶¨µÄ±à³Ìģʽ,²ÅÄÜʹ×Ô¼ºµÄ´úÂë±ãÓÚÀí½â,Ò×ÓÚ½»Á÷,Composite(×éºÏģʽ)ģʽÊDZȽϳ£ÓõÄÒ»¸öģʽ.
Composite×éºÏģʽ£¬½«¶ÔÏóÒÔÊ÷Ðνṹ×éÖ¯ÆðÀ´,ÒÔ´ï³É“²¿·Ö£ÕûÌå” µÄ²ã´Î½á¹¹£¬Ê¹µÃ¿Í»§¶Ë¶Ôµ¥¸ö¶ÔÏóºÍ×éºÏ¶ÔÏóµÄʹÓþßÓÐÒ»ÖÂÐÔ¡£
Óŵã: 1.ʹ¿Í»§¶Ëµ÷Óüòµ¥£¬¿Í»§¶Ë¿ÉÒÔÒ»ÖµÄʹÓÃ×éºÏ½á¹¹»òÆäÖе¥¸ö¶ÔÏó£¬Óû§¾Í²»±Ø¹ØÏµ×Ô¼º´¦ÀíµÄÊǵ¥¸ö¶ÔÏó»¹ÊÇÕû¸ö×éºÏ½á¹¹£¬Õâ¾Í¼ò»¯Á˿ͻ§¶Ë´úÂë¡£
2.¸üÈÝÒ×ÔÚ×éºÏÌåÄÚ¼ÓÈë¶ÔÏ󲿼þ. ¿Í»§¶Ë²»±ØÒòΪ¼ÓÈëÁËеĶÔÏ󲿼þ¶ø¸ü¸Ä´úÂë¡£
ÔÚ´ËдÁË6¸öjavaÀàÀ´ÃèÊö˵Ã÷CompositeÉè¼ÆÄ£Ê½µÄʵÏÖ·½Ê½£»
1¡¢ Circle.java ²¿¼þ-Ô²
2¡¢ Graph.java ²¿¼þ-³éÏóÀà
3¡¢ Line.java ²¿¼þ-Ïß
4¡¢ Picture.java ²¿¼þ-ͼ
5¡¢ Rectangle.java ²¿¼þ-·½
6¡¢ PictureTest.java ´øÓÐmain·½·¨µÄ²âÊÔÀà
=============== 1¡¢ Circle.java
package composite;
//²¿¼þ-Ô²
public class Circle extends Graph {
public void draw() {
System.out.println("Draw a circle.");
}
}
=============== 1 end
=============== 2¡¢ Graph.java
package composite;
import java.util.Iterator;
//²¿¼þ-³éÏóÀà
public abstract class Graph{
//»Í¼
public abstract void draw();
//Ôö¼ÓÒ»¸öͼÐÎ
public void add(Graph g){};
//ɾ³ýÒ»¸öͼÐÎ×é¼þ
public void remove(Graph g){};
//»ñµÃ×éºÏÌåµÄÄÚ²¿²¿¼þ
public Iterator<Graph> iter(){return null;};
}
=============== 2 end
=============== 3¡¢ Line.java
package composite;
//²¿¼þ-Ïß
public class Line extends Graph {
public void draw() {
System.out.p
Ïà¹ØÎĵµ£º
JavaỊ̈߳ºÏ̵߳Äͬ²½-ͬ²½·½·¨
Ï̵߳Äͬ²½ÊDZ£Ö¤¶àḬ̈߳²È«·ÃÎʾºÕù×ÊÔ´µÄÒ»ÖÖÊֶΡ£
Ï̵߳Äͬ²½ÊÇJava¶àÏ̱߳à³ÌµÄÄѵ㣬ÍùÍù¿ª·¢Õ߸㲻Çå³þʲôÊǾºÕù×ÊÔ´¡¢Ê²Ã´Ê±ºòÐèÒª¿¼ÂÇͬ²½£¬Ôõôͬ²½µÈµÈÎÊÌ⣬µ±È»£¬ÕâЩÎÊÌâûÓкÜÃ÷È·µÄ´ð°¸£¬µ«ÓÐЩÔÔòÎÊÌâÐèÒª¿¼ÂÇ£¬ÊÇ·ñÓоºÕù×ÊÔ´±»Í¬Ê±¸Ä¶¯µÄÎÊÌ⣿
ÔÚ± ......
JavaỊ̈߳º²¢·¢Ð×÷-Éú²úÕßÏû·ÑÕßÄ£ÐÍ
¶ÔÓÚ¶àÏ̳߳ÌÐòÀ´Ëµ£¬²»¹ÜÈκαà³ÌÓïÑÔ£¬Éú²úÕߺÍÏû·ÑÕßÄ£ÐͶ¼ÊÇ×î¾µäµÄ¡£¾ÍÏñѧϰÿһÃűà³ÌÓïÑÔÒ»Ñù£¬Hello World£¡¶¼ÊÇ×î¾µäµÄÀý×Ó¡£
ʵ¼ÊÉÏ£¬×¼È·ËµÓ¦¸ÃÊÇ“Éú²úÕß-Ïû·ÑÕß-²Ö´¢”Ä£ÐÍ£¬À뿪Á˲ִ¢£¬Éú²úÕßÏû·ÑÕßÄ£Ð;ÍÏÔµÃûÓÐ˵·þÁ¦ÁË¡£
¶ÔÓÚ´ËÄ£ ......
JavaỊ̈߳ºÐÂÌØÕ÷-Ëø£¨ÉÏ£©
ÔÚJava5ÖУ¬×¨ÃÅÌṩÁËËø¶ÔÏó£¬ÀûÓÃËø¿ÉÒÔ·½±ãµÄʵÏÖ×ÊÔ´µÄ·âËø£¬ÓÃÀ´¿ØÖƶԾºÕù×ÊÔ´²¢·¢·ÃÎʵĿØÖÆ£¬ÕâЩÄÚÈÝÖ÷Òª¼¯ÖÐÔÚjava.util.concurrent.locks °üÏÂÃæ£¬ÀïÃæÓÐÈý¸öÖØÒªµÄ½Ó¿ÚCondition¡¢Lock¡¢ReadWriteLock¡£
Condition
Condition ½« Object ¼àÊÓÆ÷·½·¨£¨wait¡¢notify ......
JavaỊ̈߳ºÐÂÌØÕ÷-×èÈû¶ÓÁÐ
×èÈû¶ÓÁÐÊÇJava5Ïß³ÌÐÂÌØÕ÷ÖеÄÄÚÈÝ£¬Java¶¨ÒåÁË×èÈû¶ÓÁеĽӿÚjava.util.concurrent.BlockingQueue£¬×èÈû¶ÓÁеĸÅÄîÊÇ£¬Ò»¸öÖ¸¶¨³¤¶ÈµÄ¶ÓÁУ¬Èç¹û¶ÓÁÐÂúÁË£¬Ìí¼ÓÐÂÔªËØµÄ²Ù×÷»á±»×èÈûµÈ´ý£¬Ö±µ½ÓпÕλΪֹ¡£Í¬Ñù£¬µ±¶ÓÁÐΪ¿Õʱºò£¬ÇëÇó¶ÓÁÐÔªËØµÄ²Ù×÷ͬÑù»á×èÈûµÈ´ý£¬Ö±µ½ÓпÉÓÃÔªËØÎª ......
JavaỊ̈߳ºÐÂÌØÕ÷-Ìõ¼þ±äÁ¿
Ìõ¼þ±äÁ¿ÊÇJava5Ïß³ÌÖкÜÖØÒªµÄÒ»¸ö¸ÅÄ¹ËÃû˼Ò壬Ìõ¼þ±äÁ¿¾ÍÊDZíʾÌõ¼þµÄÒ»ÖÖ±äÁ¿¡£µ«ÊDZØÐë˵Ã÷£¬ÕâÀïµÄÌõ¼þÊÇûÓÐʵ¼Êº¬ÒåµÄ£¬½ö½öÊǸö±ê¼Ç¶øÒÑ£¬²¢ÇÒÌõ¼þµÄº¬ÒåÍùÍùͨ¹ý´úÂëÀ´¸³ÓèÆäº¬Òå¡£
ÕâÀïµÄÌõ¼þºÍÆÕͨÒâÒåÉϵÄÌõ¼þ±í´ïʽÓÐ×ÅÌìÈÀÖ®±ð¡£
Ìõ¼þ±äÁ¿¶¼ÊµÏÖÁË ......