• 设计模式课程 设计模式精讲 11-2 装饰者模式coding


    1    代码演练

    1.1  代码演练1(未使用装饰者模式)

    1.2  代码演练2(使用装饰者模式)

    1    代码演练
    1.1  代码演练1(未使用装饰者模式)

    需求:

    大妈下班卖煎饼,加一个鸡蛋加一元,一个火腿两元,现在a买一个煎饼,b买加蛋的煎饼,c买加肠加蛋的煎饼,请实现它

    煎饼类:

    package com.geely.design.pattern.structural.decorator.v1;
    
    /**
     * 创建煎饼类
     */
    public class BatterCake {
    
        /**
         * 获取加的种类
         * @return
         */
        public String getDescribe(){
            return "煎饼";
        }
    
        /**
         * 计算所需要的钱
         * @return
         */
        public int cost(){
            return 8;
        }
    
    }

    煎饼鸡蛋类:

    package com.geely.design.pattern.structural.decorator.v1;
    
    /**
     * 加一个鸡蛋的煎饼
     */
    public class BatterCakeWithEgg extends BatterCake{
        @Override
        public String getDescribe() {
            return super.getDescribe()+" 加一个鸡蛋";
        }
    
        @Override
        public int cost() {
            return super.cost()+1;
        }
    }

    煎饼鸡蛋香肠类:

    package com.geely.design.pattern.structural.decorator.v1;
    
    /**
     * 加一个火腿和一个鸡蛋的煎饼
     */
    public class BatterCakeWithEggSausage extends BatterCakeWithEgg{
    
        @Override
        public String getDescribe() {
            return super.getDescribe() + " 加一个火腿";
        }
    
        @Override
        public int cost() {
            return super.cost() + 2;
        }
    }

    测试类:

    package com.geely.design.pattern.structural.decorator.v1;
    
    public class Test {
        public static void main(String [] args){
            BatterCake batterCake = new BatterCake();
            System.out.println(batterCake.getDescribe()+"销售价格为 "+batterCake.cost());
            BatterCake batterCakeWithEgg = new BatterCakeWithEgg();
            System.out.println(batterCakeWithEgg.getDescribe()+"销售价格为 "+batterCakeWithEgg.cost());
            BatterCake  batterCakeWithEggSausage = new BatterCakeWithEggSausage();
            System.out.println(batterCakeWithEggSausage.getDescribe()+"销售价格为 "+batterCakeWithEggSausage.cost());
        }
    }

    打印结果:

    "C:Program FilesJavajdk1.7.0_79injava.exe" "-javaagent:D:javadevolopKitideaanZhIntelliJ IDEA Community Edition 2018.1.4libidea_rt.jar=28469:D:javadevolopKitideaanZhIntelliJ IDEA Community Edition 2018.1.4in" -Dfile.encoding=UTF-8 -classpath "C:Program FilesJavajdk1.7.0_79jrelibcharsets.jar;C:Program FilesJavajdk1.7.0_79jrelibdeploy.jar;C:Program FilesJavajdk1.7.0_79jrelibextaccess-bridge-64.jar;C:Program FilesJavajdk1.7.0_79jrelibextdnsns.jar;C:Program FilesJavajdk1.7.0_79jrelibextjaccess.jar;C:Program FilesJavajdk1.7.0_79jrelibextlocaledata.jar;C:Program FilesJavajdk1.7.0_79jrelibextsunec.jar;C:Program FilesJavajdk1.7.0_79jrelibextsunjce_provider.jar;C:Program FilesJavajdk1.7.0_79jrelibextsunmscapi.jar;C:Program FilesJavajdk1.7.0_79jrelibextzipfs.jar;C:Program FilesJavajdk1.7.0_79jrelibjavaws.jar;C:Program FilesJavajdk1.7.0_79jrelibjce.jar;C:Program FilesJavajdk1.7.0_79jrelibjfr.jar;C:Program FilesJavajdk1.7.0_79jrelibjfxrt.jar;C:Program FilesJavajdk1.7.0_79jrelibjsse.jar;C:Program FilesJavajdk1.7.0_79jrelibmanagement-agent.jar;C:Program FilesJavajdk1.7.0_79jrelibplugin.jar;C:Program FilesJavajdk1.7.0_79jrelib
    esources.jar;C:Program FilesJavajdk1.7.0_79jrelib
    t.jar;F:xiangmu3XinIdeadesign_pattern	argetclasses;F:xiangmu3XinIdeadesign_Maven_Homeliborgapache	omcat	omcat-servlet-api7.0.64	omcat-servlet-api-7.0.64.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-webmvc4.0.3.RELEASEspring-webmvc-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-beans4.0.3.RELEASEspring-beans-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-context4.0.3.RELEASEspring-context-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-aop4.0.3.RELEASEspring-aop-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homelibaopallianceaopalliance1.0aopalliance-1.0.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-core4.0.3.RELEASEspring-core-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-expression4.0.3.RELEASEspring-expression-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-web4.0.3.RELEASEspring-web-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-oxm4.0.3.RELEASEspring-oxm-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-jdbc4.0.3.RELEASEspring-jdbc-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-tx4.0.3.RELEASEspring-tx-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-test4.0.3.RELEASEspring-test-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgaspectjaspectjweaver1.7.3aspectjweaver-1.7.3.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgmybatismybatis-spring1.3.0mybatis-spring-1.3.0.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgmybatismybatis3.4.1mybatis-3.4.1.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgaspectjaspectjrt1.6.11aspectjrt-1.6.11.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgcodehausjacksonjackson-mapper-asl1.9.12jackson-mapper-asl-1.9.12.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgcodehausjacksonjackson-core-asl1.9.12jackson-core-asl-1.9.12.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-dbcpcommons-dbcp1.4commons-dbcp-1.4.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-poolcommons-pool1.5.4commons-pool-1.5.4.jar;F:xiangmu3XinIdeadesign_Maven_Homelibchqoslogbacklogback-classic1.1.2logback-classic-1.1.2.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgslf4jslf4j-api1.7.6slf4j-api-1.7.6.jar;F:xiangmu3XinIdeadesign_Maven_Homelibchqoslogbacklogback-core1.1.2logback-core-1.1.2.jar;F:xiangmu3XinIdeadesign_Maven_Homelibmysqlmysql-connector-java5.1.6mysql-connector-java-5.1.6.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomgoogleguavaguava20.0guava-20.0.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgapachecommonscommons-lang33.5commons-lang3-3.5.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-collectionscommons-collections3.2.1commons-collections-3.2.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibjunitjunit4.12junit-4.12.jar;F:xiangmu3XinIdeadesign_Maven_Homelibjoda-timejoda-time2.3joda-time-2.3.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborghashidshashids1.0.1hashids-1.0.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-netcommons-net3.1commons-net-3.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-fileuploadcommons-fileupload1.2.2commons-fileupload-1.2.2.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-iocommons-io2.0.1commons-io-2.0.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomgithubpagehelperpagehelper4.1.0pagehelper-4.1.0.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomgithubmiemiedevmybatis-paginator1.2.17mybatis-paginator-1.2.17.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomgithubjsqlparserjsqlparser.9.4jsqlparser-0.9.4.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-codeccommons-codec1.10commons-codec-1.10.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-configurationcommons-configuration1.10commons-configuration-1.10.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-langcommons-lang2.6commons-lang-2.6.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-loggingcommons-logging1.1.1commons-logging-1.1.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomgooglezxingcore2.1core-2.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomgooglecodegsongson2.3.1gson-2.3.1.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborghamcresthamcrest-core1.3hamcrest-core-1.3.jar;F:xiangmu3XinIdeadesign_Maven_Homelib
    edisclientsjedis2.6.0jedis-2.6.0.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgapachecommonscommons-pool22.0commons-pool2-2.0.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgprojectlomboklombok1.16.18lombok-1.16.18.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworksessionspring-session-data-redis1.2.0.RELEASEspring-session-data-redis-1.2.0.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkdataspring-data-redis1.7.1.RELEASEspring-data-redis-1.7.1.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkdataspring-data-keyvalue1.1.1.RELEASEspring-data-keyvalue-1.1.1.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkdataspring-data-commons1.12.1.RELEASEspring-data-commons-1.12.1.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-context-support4.2.5.RELEASEspring-context-support-4.2.5.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworksessionspring-session1.2.0.RELEASEspring-session-1.2.0.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborg
    edisson
    edisson2.9.0
    edisson-2.9.0.jar;F:xiangmu3XinIdeadesign_Maven_Homelibio
    etty
    etty-common4.1.8.Final
    etty-common-4.1.8.Final.jar;F:xiangmu3XinIdeadesign_Maven_Homelibio
    etty
    etty-codec4.1.8.Final
    etty-codec-4.1.8.Final.jar;F:xiangmu3XinIdeadesign_Maven_Homelibio
    etty
    etty-buffer4.1.8.Final
    etty-buffer-4.1.8.Final.jar;F:xiangmu3XinIdeadesign_Maven_Homelibio
    etty
    etty-transport4.1.8.Final
    etty-transport-4.1.8.Final.jar;F:xiangmu3XinIdeadesign_Maven_Homelibio
    etty
    etty-resolver4.1.8.Final
    etty-resolver-4.1.8.Final.jar;F:xiangmu3XinIdeadesign_Maven_Homelibio
    etty
    etty-handler4.1.8.Final
    etty-handler-4.1.8.Final.jar;F:xiangmu3XinIdeadesign_Maven_Homelibjavaxcachecache-api1.0.0cache-api-1.0.0.jar;F:xiangmu3XinIdeadesign_Maven_Homelibioprojectreactor
    eactor-stream2.0.8.RELEASE
    eactor-stream-2.0.8.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homelibioprojectreactor
    eactor-core2.0.8.RELEASE
    eactor-core-2.0.8.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborg
    eactivestreams
    eactive-streams1.0.0
    eactive-streams-1.0.0.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomfasterxmljacksondataformatjackson-dataformat-yaml2.6.7jackson-dataformat-yaml-2.6.7.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgyamlsnakeyaml1.15snakeyaml-1.15.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomfasterxmljacksoncorejackson-core2.6.7jackson-core-2.6.7.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomfasterxmljacksoncorejackson-databind2.6.7jackson-databind-2.6.7.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomfasterxmljacksondataformatjackson-dataformat-avro2.9.0jackson-dataformat-avro-2.9.0.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomfasterxmljacksoncorejackson-annotations2.9.0jackson-annotations-2.9.0.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgapacheavroavro1.8.1avro-1.8.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcom	houghtworksparanamerparanamer2.7paranamer-2.7.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgxerialsnappysnappy-java1.1.1.3snappy-java-1.1.1.3.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgapachecommonscommons-compress1.8.1commons-compress-1.8.1.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborg	ukaanixz1.5xz-1.5.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomsunfacesjsf-api1.2jsf-api-1.2.jar" com.geely.design.pattern.structural.decorator.v1.Test
    煎饼销售价格为 8
    煎饼 加一个鸡蛋销售价格为 9
    煎饼 加一个鸡蛋 加一个火腿销售价格为 11
    
    Process finished with exit code 0
    1.2  代码演练2(使用装饰者模式)

    需求变更:

    现在肠和蛋随机,a  加2蛋2肠 b加1蛋2肠,。。。请用最简单的方式实现它

    要求:

    所谓装饰者模式,要有抽象的实体类和确定的实体类,同时要有抽象的装饰者和确定的装饰者。现在实体类是煎饼,装饰者是鸡蛋和香肠。

    关联:

    煎饼实体类继承煎饼抽象类,装饰者抽象类也继承煎饼抽象类

    如何创建煎饼实体类和装饰者抽象类的关系呢?答案是可以通过它们的父类组合来达到目的

    实质:

    自我理解,这就像是i=i+1;鸡蛋装饰类也好,香肠装饰类也好,都是把煎饼类new一次,基础上describe加一个描述,价格加一个固定值。

    UML类图:

    抽象煎饼类:

    package com.geely.design.pattern.structural.decorator.v2;
    
    /**
     * 做成从抽象方法,方便煎饼实体类和装饰类继承
     *
     * 可以做成接口,让其他类实现吗?
     */
    public abstract class ABatterCake {
        public abstract String getDescribe();
        public abstract int cost();
    }

    实体煎饼类:

    package com.geely.design.pattern.structural.decorator.v2;
    
    public class BatterCake extends ABatterCake{
    
    
        @Override
        public String getDescribe() {
            return "一个煎饼";
        }
    
        @Override
        public int cost() {
            return 8;
        }
    }

    抽象装饰类:

    package com.geely.design.pattern.structural.decorator.v2;
    
    /**
     * 装饰者同样继承 抽象煎饼类,这是为了方便 ,和煎饼类交互
     *
     * 如果不用构造器的方式,使用set的方式,是否也能达到目的呢?
     */
    public class AbstractDecorator extends ABatterCake {
    
        /**
         * 定义煎饼属性,方便注入
         */
        private ABatterCake aBatterCake;
    
        /**
         * 通过构造方法,传入煎饼类
         * @param aBatterCake2
         */
        public AbstractDecorator(ABatterCake aBatterCake2){
            this.aBatterCake = aBatterCake2;
        }
    
        @Override
        public String getDescribe() {
            return aBatterCake.getDescribe();
        }
    
        @Override
        public int cost() {
            return aBatterCake.cost();
        }
    }

    鸡蛋装饰类:

    package com.geely.design.pattern.structural.decorator.v2;
    
    public class EggDecorator extends AbstractDecorator{
    
        /**
         * 传入
         * 为什么要实现构造器,父类已经没有无参构造器了
         * @param aBatterCake2
         */
        public EggDecorator(ABatterCake aBatterCake2) {
            super(aBatterCake2);
        }
    
        @Override
        public String getDescribe() {
            return super.getDescribe() + " 加一个鸡蛋";
        }
    
        @Override
        public int cost() {
            return super.cost()+1;
        }
    }

    火腿装饰类:

    package com.geely.design.pattern.structural.decorator.v2;
    
    public class SauseDecorator extends  AbstractDecorator{
        public SauseDecorator(ABatterCake aBatterCake2) {
            super(aBatterCake2);
        }
    
        @Override
        public String getDescribe() {
            return super.getDescribe()+" 加一个香肠";
        }
    
        @Override
        public int cost() {
            return super.cost() + 2;
        }
    }

    测试类:

    package com.geely.design.pattern.structural.decorator.v2;
    
    public class Test {
        public static void main(String [] args){
            ABatterCake aBatterCake;
            //给煎饼赋值
            aBatterCake = new BatterCake();
            aBatterCake = new EggDecorator(aBatterCake);
            aBatterCake = new EggDecorator(aBatterCake);
            aBatterCake = new SauseDecorator(aBatterCake);
    
            System.out.println(aBatterCake.getDescribe()+" 一共卖了"+aBatterCake.cost());
        }
    }

    打印日志:

    "C:Program FilesJavajdk1.7.0_79injava.exe" "-javaagent:D:javadevolopKitideaanZhIntelliJ IDEA Community Edition 2018.1.4libidea_rt.jar=29176:D:javadevolopKitideaanZhIntelliJ IDEA Community Edition 2018.1.4in" -Dfile.encoding=UTF-8 -classpath "C:Program FilesJavajdk1.7.0_79jrelibcharsets.jar;C:Program FilesJavajdk1.7.0_79jrelibdeploy.jar;C:Program FilesJavajdk1.7.0_79jrelibextaccess-bridge-64.jar;C:Program FilesJavajdk1.7.0_79jrelibextdnsns.jar;C:Program FilesJavajdk1.7.0_79jrelibextjaccess.jar;C:Program FilesJavajdk1.7.0_79jrelibextlocaledata.jar;C:Program FilesJavajdk1.7.0_79jrelibextsunec.jar;C:Program FilesJavajdk1.7.0_79jrelibextsunjce_provider.jar;C:Program FilesJavajdk1.7.0_79jrelibextsunmscapi.jar;C:Program FilesJavajdk1.7.0_79jrelibextzipfs.jar;C:Program FilesJavajdk1.7.0_79jrelibjavaws.jar;C:Program FilesJavajdk1.7.0_79jrelibjce.jar;C:Program FilesJavajdk1.7.0_79jrelibjfr.jar;C:Program FilesJavajdk1.7.0_79jrelibjfxrt.jar;C:Program FilesJavajdk1.7.0_79jrelibjsse.jar;C:Program FilesJavajdk1.7.0_79jrelibmanagement-agent.jar;C:Program FilesJavajdk1.7.0_79jrelibplugin.jar;C:Program FilesJavajdk1.7.0_79jrelib
    esources.jar;C:Program FilesJavajdk1.7.0_79jrelib
    t.jar;F:xiangmu3XinIdeadesign_pattern	argetclasses;F:xiangmu3XinIdeadesign_Maven_Homeliborgapache	omcat	omcat-servlet-api7.0.64	omcat-servlet-api-7.0.64.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-webmvc4.0.3.RELEASEspring-webmvc-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-beans4.0.3.RELEASEspring-beans-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-context4.0.3.RELEASEspring-context-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-aop4.0.3.RELEASEspring-aop-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homelibaopallianceaopalliance1.0aopalliance-1.0.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-core4.0.3.RELEASEspring-core-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-expression4.0.3.RELEASEspring-expression-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-web4.0.3.RELEASEspring-web-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-oxm4.0.3.RELEASEspring-oxm-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-jdbc4.0.3.RELEASEspring-jdbc-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-tx4.0.3.RELEASEspring-tx-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-test4.0.3.RELEASEspring-test-4.0.3.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgaspectjaspectjweaver1.7.3aspectjweaver-1.7.3.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgmybatismybatis-spring1.3.0mybatis-spring-1.3.0.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgmybatismybatis3.4.1mybatis-3.4.1.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgaspectjaspectjrt1.6.11aspectjrt-1.6.11.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgcodehausjacksonjackson-mapper-asl1.9.12jackson-mapper-asl-1.9.12.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgcodehausjacksonjackson-core-asl1.9.12jackson-core-asl-1.9.12.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-dbcpcommons-dbcp1.4commons-dbcp-1.4.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-poolcommons-pool1.5.4commons-pool-1.5.4.jar;F:xiangmu3XinIdeadesign_Maven_Homelibchqoslogbacklogback-classic1.1.2logback-classic-1.1.2.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgslf4jslf4j-api1.7.6slf4j-api-1.7.6.jar;F:xiangmu3XinIdeadesign_Maven_Homelibchqoslogbacklogback-core1.1.2logback-core-1.1.2.jar;F:xiangmu3XinIdeadesign_Maven_Homelibmysqlmysql-connector-java5.1.6mysql-connector-java-5.1.6.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomgoogleguavaguava20.0guava-20.0.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgapachecommonscommons-lang33.5commons-lang3-3.5.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-collectionscommons-collections3.2.1commons-collections-3.2.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibjunitjunit4.12junit-4.12.jar;F:xiangmu3XinIdeadesign_Maven_Homelibjoda-timejoda-time2.3joda-time-2.3.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborghashidshashids1.0.1hashids-1.0.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-netcommons-net3.1commons-net-3.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-fileuploadcommons-fileupload1.2.2commons-fileupload-1.2.2.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-iocommons-io2.0.1commons-io-2.0.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomgithubpagehelperpagehelper4.1.0pagehelper-4.1.0.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomgithubmiemiedevmybatis-paginator1.2.17mybatis-paginator-1.2.17.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomgithubjsqlparserjsqlparser.9.4jsqlparser-0.9.4.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-codeccommons-codec1.10commons-codec-1.10.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-configurationcommons-configuration1.10commons-configuration-1.10.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-langcommons-lang2.6commons-lang-2.6.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcommons-loggingcommons-logging1.1.1commons-logging-1.1.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomgooglezxingcore2.1core-2.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomgooglecodegsongson2.3.1gson-2.3.1.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborghamcresthamcrest-core1.3hamcrest-core-1.3.jar;F:xiangmu3XinIdeadesign_Maven_Homelib
    edisclientsjedis2.6.0jedis-2.6.0.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgapachecommonscommons-pool22.0commons-pool2-2.0.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgprojectlomboklombok1.16.18lombok-1.16.18.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworksessionspring-session-data-redis1.2.0.RELEASEspring-session-data-redis-1.2.0.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkdataspring-data-redis1.7.1.RELEASEspring-data-redis-1.7.1.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkdataspring-data-keyvalue1.1.1.RELEASEspring-data-keyvalue-1.1.1.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkdataspring-data-commons1.12.1.RELEASEspring-data-commons-1.12.1.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworkspring-context-support4.2.5.RELEASEspring-context-support-4.2.5.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgspringframeworksessionspring-session1.2.0.RELEASEspring-session-1.2.0.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborg
    edisson
    edisson2.9.0
    edisson-2.9.0.jar;F:xiangmu3XinIdeadesign_Maven_Homelibio
    etty
    etty-common4.1.8.Final
    etty-common-4.1.8.Final.jar;F:xiangmu3XinIdeadesign_Maven_Homelibio
    etty
    etty-codec4.1.8.Final
    etty-codec-4.1.8.Final.jar;F:xiangmu3XinIdeadesign_Maven_Homelibio
    etty
    etty-buffer4.1.8.Final
    etty-buffer-4.1.8.Final.jar;F:xiangmu3XinIdeadesign_Maven_Homelibio
    etty
    etty-transport4.1.8.Final
    etty-transport-4.1.8.Final.jar;F:xiangmu3XinIdeadesign_Maven_Homelibio
    etty
    etty-resolver4.1.8.Final
    etty-resolver-4.1.8.Final.jar;F:xiangmu3XinIdeadesign_Maven_Homelibio
    etty
    etty-handler4.1.8.Final
    etty-handler-4.1.8.Final.jar;F:xiangmu3XinIdeadesign_Maven_Homelibjavaxcachecache-api1.0.0cache-api-1.0.0.jar;F:xiangmu3XinIdeadesign_Maven_Homelibioprojectreactor
    eactor-stream2.0.8.RELEASE
    eactor-stream-2.0.8.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homelibioprojectreactor
    eactor-core2.0.8.RELEASE
    eactor-core-2.0.8.RELEASE.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborg
    eactivestreams
    eactive-streams1.0.0
    eactive-streams-1.0.0.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomfasterxmljacksondataformatjackson-dataformat-yaml2.6.7jackson-dataformat-yaml-2.6.7.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgyamlsnakeyaml1.15snakeyaml-1.15.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomfasterxmljacksoncorejackson-core2.6.7jackson-core-2.6.7.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomfasterxmljacksoncorejackson-databind2.6.7jackson-databind-2.6.7.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomfasterxmljacksondataformatjackson-dataformat-avro2.9.0jackson-dataformat-avro-2.9.0.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomfasterxmljacksoncorejackson-annotations2.9.0jackson-annotations-2.9.0.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgapacheavroavro1.8.1avro-1.8.1.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcom	houghtworksparanamerparanamer2.7paranamer-2.7.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgxerialsnappysnappy-java1.1.1.3snappy-java-1.1.1.3.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborgapachecommonscommons-compress1.8.1commons-compress-1.8.1.jar;F:xiangmu3XinIdeadesign_Maven_Homeliborg	ukaanixz1.5xz-1.5.jar;F:xiangmu3XinIdeadesign_Maven_Homelibcomsunfacesjsf-api1.2jsf-api-1.2.jar" com.geely.design.pattern.structural.decorator.v2.Test
    一个煎饼 加一个鸡蛋 加一个鸡蛋 加一个香肠 一共卖了12
    
    Process finished with exit code 0
  • 相关阅读:
    QT POST/GET HTTP操作
    PHP生成json
    Windows 获取进程ID
    易语言 多个窗口
    易语言 内存修改框架
    易语言 MD5生成
    易语言 获取验证码
    易语言网页登录 POST
    cs1.6 8倍镜
    HTMLTestRunner.py(Python3)
  • 原文地址:https://www.cnblogs.com/1446358788-qq/p/11486747.html
Copyright © 2020-2023  润新知