<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    通過裝飾(decorator)模式詮釋Eclipse的插件擴展機制

    UML圖如下:

     

    抽象構件角色:

    /*
    *@author 我為J狂 建立日期 2007-4-21
    *
    */

    package net.blogjava.lzqdiy.decorator;

    public interface IDE
    {
        
    void getFunction();
    }

    具體構件角色:
    /*
    *@author 我為J狂 建立日期 2007-4-21
    *
    */

    package net.blogjava.lzqdiy.decorator;

    public class Eclipse implements IDE
    {

        
    public Eclipse()
        
    {
            
        }

        
    public void getFunction()
        
    {
             
        }


    }

    裝飾角色:
    /*
    *@author 我為J狂 建立日期 2007-4-21
    *
    */

    package net.blogjava.lzqdiy.decorator;

    public class PlugIn implements IDE
    {

        
    private IDE ide;
        
    public PlugIn(IDE ide)
        
    {
            
    super();
            
    this.ide=ide;
        }


        
    public void getFunction()
        
    {
            ide.getFunction();
        }


    }

    具體裝飾角色:

    /*
    *@author 我為J狂 建立日期 2007-4-21
    *
    */

    package net.blogjava.lzqdiy.decorator;

    public class WTP extends PlugIn
    {

        
    public WTP(IDE ide)
        
    {
            
    super(ide);
        }

        
    public void getFunction()
        
    {
            
    // TODO Auto-generated method stub
            System.out.println("具有了開發Web應用程序的功能!");
        }

    }

    /*
    *@author 我為J狂 建立日期 2007-4-21
    *
    */

    package net.blogjava.lzqdiy.decorator;

    public class VE extends PlugIn
    {
        
    public VE(IDE ide)
        
    {
            
    super(ide);
        }

        
    public void getFunction()
        
    {
            System.out.println(
    "具有了開發圖形用戶界面程序的功能!");
        }


    }

    客戶端代碼:
    /*
    *@author 我為J狂 建立日期 2007-4-21
    *
    */

    package net.blogjava.lzqdiy.decorator;

    public class Client
    {

        
    /**
         * 
    @param args
         
    */

        
    public static void main(String[] args)
        
    {
            IDE eclipse
    =new Eclipse();
            IDE eclipseWithWTP
    =new WTP(eclipse);//得到安裝了WTP插件的Eclipse
            eclipseWithWTP.getFunction();
            IDE eclipseWithWTPandVE
    =new VE(eclipseWithWTP);//得到安裝了WTP和VE插件的Eclipse
            eclipseWithWTPandVE.getFunction();
        }


    }



    posted on 2007-04-21 15:21 我為J狂 閱讀(1403) 評論(0)  編輯  收藏 所屬分類: 設計模式

    <2007年4月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    導航

    統計

    常用鏈接

    留言簿(11)

    隨筆分類(48)

    文章分類(29)

    常去逛逛

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 999久久久免费精品国产| 久久久久久免费一区二区三区| 亚洲福利视频网址| 亚洲熟妇无码av另类vr影视| 亚洲精品无码一区二区| 国产特黄特色的大片观看免费视频 | 亚洲永久精品ww47| 亚洲bt加勒比一区二区| 亚洲www在线观看| 男人免费视频一区二区在线观看| 成人无码WWW免费视频| 毛片a级毛片免费播放下载| 亚洲人成无码网WWW| 久久久国产精品亚洲一区| 在线观看亚洲电影| 日韩免费无码视频一区二区三区| 一个人免费高清在线观看| 亚洲精品一品区二品区三品区| 亚洲精品白色在线发布| 99re热免费精品视频观看 | 美女黄频a美女大全免费皮| 精品国产无限资源免费观看| ww亚洲ww在线观看国产| 日本人的色道www免费一区| 亚洲久本草在线中文字幕| 久久成人18免费网站 | 国产午夜亚洲不卡| 亚洲精品欧美综合四区| 免费无码一区二区三区| 亚洲a级片在线观看| 91久久精品国产免费一区| 亚洲精品午夜无码电影网| 1000部国产成人免费视频| 亚洲人成网www| 午夜一区二区免费视频| 亚洲毛片基地日韩毛片基地| 国产男女猛烈无遮挡免费视频| 精品久久亚洲中文无码| 波多野结衣一区二区免费视频| 亚洲综合成人婷婷五月网址| 又黄又爽又成人免费视频|