设计模式整理记录1

public abstract class AbastractFactory{
    public abstract IProduct getProduct(Class<T> c);

}

public FactoryA extends AbastractFactory{

    public IProduct getProduct(Class<T> c){

               IProduct product = (IProduct)ClassforName(c.getClass).newInstance();
               return product;
    }

}

Client.java
main(){

    AbastractFactory factory = new FactoryA();

    IProduct productA = factory.getProduct(ProductA.class);
    productA.getColor();
}


Client.java
main(){

    AbastractFactory factory1 = new Factory1();
    AbastractFactory factory2 = new Factory2();

    factory1.createProductA1();

    factory1.createProductB1();
    factory2.createProductA2();

    factory2.createProductB2();
}

Client.java

main:(){

    AbastractProduct product = new ProductA();

    product.onProcess();
   AbastractProduct productB = new ProductB();

   productB.onProcess();
   //onProcess:

   //this.start,this.run,this.stop

}

建造者模式

Client.java

main(){
    List.add("start"), List.add("run"), List.add("stop"),
   Builder b1 = new BuilderA();
   b1.setSeq(list);//a.setSeq()

   b1.getProduct();

   List.add("run"), List.add("start"), List.add("stop"),

  Builder b2 = new BuilderB();
   b2.setSeq(list);//b.setSeq()

   b2.getProduct();

}

代理模式

Client.java
main(){

    IPlayer ai = new Player("ai");
    IPlayer proxy = new Player("robot");

    proxy.setPlayer(ai);

    proxy.login();
    proxy.player();

}

原型模式:

Client.java

main(){

    Mail a = new Mail(new Template);
    while(I<1000000000){

         Mail b = a.clone();b.setDes();b.setRes();

         sendMail(b);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值