<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狂 閱讀(1408) 評論(0)  編輯  收藏 所屬分類: 設計模式

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

    導航

    統計

    常用鏈接

    留言簿(11)

    隨筆分類(48)

    文章分類(29)

    常去逛逛

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲欧美成人av在线观看| 久久亚洲私人国产精品| 免费精品人在线二线三线区别| 最好免费观看高清在线| 四虎免费大片aⅴ入口| 亚洲码在线中文在线观看| 亚洲免费视频网址| 亚洲综合色区中文字幕| 免费在线观看一区| 中文字幕天天躁日日躁狠狠躁免费| 亚洲国产一二三精品无码| 亚洲成av人在线观看网站| 日本黄色免费观看| 无码精品人妻一区二区三区免费 | 中文字幕av无码无卡免费| 亚洲一级黄色大片| 97人妻精品全国免费视频| 亚洲av无码成人黄网站在线观看| 羞羞网站在线免费观看| 成年在线观看网站免费| 亚洲中文无码永久免费| 日韩精品电影一区亚洲| 中文字幕成人免费高清在线 | 日韩精品人妻系列无码专区免费| 亚洲AV综合色一区二区三区| 99re视频精品全部免费| 亚洲色成人WWW永久在线观看| 免费看国产曰批40分钟| 国产精品亚洲一区二区麻豆| 四虎永久在线免费观看| 成人无码视频97免费| 亚洲精品第五页中文字幕| 午夜高清免费在线观看| 精品国产污污免费网站入口| 亚洲精品国精品久久99热| 苍井空亚洲精品AA片在线播放| 国产卡一卡二卡三免费入口| 黄色毛片免费在线观看| 亚洲日韩国产精品无码av| 国产精彩免费视频| 黄色免费网址在线观看|