JavaÉè¼ÆÄ£Ê½Ö®Flyweightģʽ
GOF£ºÔËÓù²Ïí¼¼ÊõÓÐЧµØÖ§³Ö´óÁ¿Ï¸Á£¶ÈµÄ¶ÔÏó¡£
½âÊÍһϸÅÄҲ¾ÍÊÇ˵ÔÚÒ»¸öϵͳÖÐÈç¹ûÓжà¸öÏàͬµÄ¶ÔÏó£¬ÄÇôֻ¹²ÏíÒ»·Ý¾Í¿ÉÒÔ
ÁË£¬²»±ØÃ¿¸ö¶¼È¥ÊµÀý»¯Ò»¸ö¶ÔÏó¡£±ÈÈç˵£¨ÕâÀïÒýÓÃGOFÊéÖеÄÀý×Ó£©Ò»¸öÎı¾ÏµÍ³£¬Ã¿¸ö×Öĸ¶¨Ò»¸ö¶ÔÏó£¬ÄÇô´óСд×Öĸһ¹²¾ÍÊÇ52¸ö£¬ÄÇô¾ÍÒª¶¨Òå
52¸ö¶ÔÏó¡£Èç¹ûÓÐÒ»¸ö1MµÄÎı¾£¬ÄÇô×ÖĸÊÇºÎÆäµÄ¶à£¬Èç¹ûÿ¸ö×Öĸ¶¼¶¨ÒåÒ»¸ö¶ÔÏóÄÇôÄÚ´æÔç¾Í±¬ÁË¡£ÄÇôÈç¹ûÒªÊÇÿ¸ö×Öĸ¶¼¹²ÏíÒ»¸ö¶ÔÏó£¬ÄÇô¾Í´ó´ó
½ÚÔ¼ÁË×ÊÔ´¡£
ÔÚFlyweightģʽÖУ¬ÓÉÓÚÒª²úÉú¸÷ÖÖ¸÷ÑùµÄ¶ÔÏó£¬ËùÒÔÔÚ
Flyweight(ÏíÔª)ģʽÖг£³öÏÖFactory ģʽ¡£FlyweightµÄÄÚ²¿×´Ì¬ÊÇÓÃÀ´¹²ÏíµÄ,Flyweight
factory¸ºÔðά»¤Ò»¸ö¶ÔÏó´æ´¢³Ø£¨Flyweight
Pool£©À´´æ·ÅÄÚ²¿×´Ì¬µÄ¶ÔÏó¡£FlyweightģʽÊÇÒ»¸öÌá¸ß³ÌÐòЧÂʺÍÐÔÄܵÄģʽ,»á´ó´ó¼Ó¿ì³ÌÐòµÄÔËÐÐËÙ¶È.Ó¦Óó¡ºÏºÜ¶à£¬ÏÂÃæ¾Ù¸öÀý×Ó£º
Ïȶ¨ÒåÒ»¸ö³éÏóµÄFlyweightÀࣺ
package Flyweight;
public abstract class Flyweight
...
{
¡¡public abstract void operation();
}//end abstract class Flyweight
ÔÚʵÏÖÒ»¸ö¾ßÌåÀࣺ
package Flyweight;
public class ConcreteFlyweight extends Flyweight
...
{
¡¡private String string;
¡¡public ConcreteFlyweight(String str)
¡¡...
¡¡{
string = str;
¡¡}//end ConcreteFlyweight(...)
¡¡public void operation()
¡¡...
¡¡{
System.out.println("Concrete---Flyweight : " + string);
¡¡}//end operation()
}//end class ConcreteFlyweight
ʵÏÖÒ»¸ö¹¤³§·½·¨Àࣺ
package Flyweight;
import java.util.Hashtable;
public class FlyweightFactory
...
{
¡¡private Hashtable flyweights = new Hashtable();//----------------------------1
¡¡public FlyweightFactory() ...{}
¡¡public Flyweight getFlyWeight(Object obj)
¡¡...
¡¡{
Flyweight flyweight = (Flyweight) flyweights.get(obj);//----------------2
if(flyweight == null) ...{//---------------------------------------------------3
¡¡//²úÉúеÄConcreteFlyweight
¡¡flyweight = new ConcreteFlyweight((String)obj);
¡¡flyweights.put(obj, flyweight);//--------------------------------------5
}
r
Ïà¹ØÎĵµ£º
½ñÌ칤×÷µÄÈÎÎñҪдһЩ¸ú¿ªÔ´ÐÒéÏà¹ØµÄÔ¼¶¨ËµÃ÷£¬ËùÒÔÔÚÍøÉÏËÑË÷ÁËһЩ×ÊÁÏÒÔ¹©²Î¿¼£¬ÏÂÃæÁгöÁ˼¸¸ö±È½Ï³£¼ûµÄ¿ªÔ´ÐÒ飬Èç¹ûÏëÒªÁ˽âÆäËûµÄÐÒé
ºÍÏêϸÁ˽âÕâЩÐÒ飬ÎÒ¸öÈËÍÆ¼öÕâ¸öÍøÖ·£ºhttp://www.opensource.org/licenses/
¡¡¡¡Mozilla Public License
¡¡¡¡MPL License£¬ÔÊÐíÃâ·ÑÖØ·¢²¼¡¢Ãâ·ÑÐ޸쬵«ÒªÇóÐ޸ĺó ......
ת £º http://www.jcourse.cn/read/234
2009-03-02 ×÷Õß:
zhangtaolv
ÔÚÎÒÃÇÈÕ³£¿ª·¢ÖУ¬¾³£»áÓöµ½¶ÔÎı¾µÄ²Ù×÷£¬²¢ÇÒÔÚÒ»°ãµÄMISϵͳÖУ¬Îı¾²Ù×÷ÓÈΪ¶à£¬ÈçÓû§Ãû¡¢ÎÄÕÂÄÚÈÝ¡¢ÎÄÕ±êÌâ¡¢ºÏͬÄÚÈݵȡ£ÔÚ֮ǰµÄ½Ì³ÌÖУ¬ÎÒÒ²¸ø´ó¼Ò½²½âÁËJavaÖÐ×î»ù±¾µÄ×Ö·û´®²Ù×÷µÄÀ࣬String¡£ÔÚ֮ǰµÄ½Ì³ÌÖÐÎÒÒ²¸ø´ó¼Ò½²ÁËStr ......
AWTÊÇJavaÖÐÖ§³ÖͼÐλ¯Óû§½çÃæGUIÉè¼ÆµÄÒ»¸ö¹¤¾ß¼¯¡£AWTµÄAPIÊǶÀÁ¢ÓÚÆ½Ì¨µÄ£¬µ«Éè¼Æ³öÀ´µÄ½çÃæÔÚ¸÷ÖÖÆ½Ì¨µÄ·ç¸ñ²»Í¬£¬ÀûÓÃAPIÖи÷ÖÖÀàÔÚÌØ¶¨Æ½Ì¨ÏµĶԵÈ×é¼þpeersÌṩ¾ßÌåÆ½Ì¨ÏµÄʵÏÖ¡£
Óû½¨Á¢Ò»¸öGUIÊ×ÏÈÈ·¶¨ËùÓõÄ×é¼þ¼°Æä²¼¾Ö£¬È»ºóʵÏÖÆäʼþµÄÏìÓ¦¡£×é¼þµÄÀàÐÍÓжàÖÖ£¬Èç³£ÓõÄButton¡¢CheckBoxµÈ£¬¾ùΪComponent ......
Java 1.1ÔöÌíÁËÒ»ÖÖÓÐȤµÄÌØÐÔ£¬ÃûΪ¡°¶ÔÏóÐòÁл¯¡±£¨Object Serialization£©¡£ËüÃæÏòÄÇЩʵÏÖÁËSerializable½Ó¿ÚµÄ¶ÔÏ󣬿ɽ«ËüÃÇת»»³ÉһϵÁÐ×Ö½Ú£¬²¢¿ÉÔÚÒÔºóÍêÈ«»Ö¸´»ØÔÀ´µÄÑù×Ó¡£ÕâÒ»¹ý³ÌÒà¿Éͨ¹ýÍøÂç½øÐС£ÕâÒâζ×ÅÐòÁл¯»úÖÆÄÜ×Ô¶¯²¹³¥²Ù×÷ϵͳ¼äµÄ²îÒì¡£»»¾ä»°Ëµ£¬¿ÉÒÔÏÈÔÚWindows»úÆ÷ÉÏ´´½¨Ò»¸ö¶ÔÏó£¬¶ÔÆäÐòÁл¯£ ......
±¾Îijö×Ô “ÌÆ´óÀÏʦ” ²©¿Í£¬ÇëÎñ±Ø±£Áô´Ë³ö´¦http://tscjsj.blog.51cto.com/412451/84561
public class Bubble {
// ðÅÝÅÅÐòº¯Êý1
public static void bubbleSort1(Comparable []data){
int position,scan;
Comparable temp;
for(position = data.length-1;position>=0;position--){
......