您的位置:首页 > 编程语言 > Java开发

Java设计模式 (4) 建造者

2016-12-26 00:00 483 查看
/**
* 设计模式(4)
* 建造者模式
*
* 建造者模式将不同的对象组合为一种新的对象
* 该模式主要用于部分零件不变,但是组合经常变动的设计中
*
* 比如KFC的套餐模式,就是用零件组成的一个又一个对象
*/

// Pet接口与实现类
interface Pet {
int price();
}
class Dog implements Pet {
public int price() {
return 100;
}
}
class Cat implements Pet {
public int price() {
return 80;
}
}

// 打包套餐1 一只狗和一只猫
class PetPackage1 implements Pet {
Dog d = new Dog();
Cat c = new Cat();

public int price() {
return d.price() + c.price();
}
}
// 打包套餐2 1只狗和2只猫
class PetPackage2 implements Pet {
Dog d = new Dog();
Cat c = new Cat();
Cat c2 = new Cat();

public int price() {
return d.price() + c.price() + c2.price();
}
}

// 商店
class PetStore {

// 商店只出售套餐
public static PetPackage1 buyPetPack1() {
return new PetPackage1();
}
public static PetPackage2 buyPetPack2() {
return new PetPackage2();
}
}

// Test builder pattern
public class main {
public static void main(String[] argv) {

Pet pet1 = PetStore.buyPetPack1();
System.out.println( pet1.price() );

Pet pet2 = PetStore.buyPetPack2();
System.out.println( pet2.price() );

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: