工厂模式
来源:互联网 发布:如何在mac里打开终端 编辑:程序博客网 时间:2024/06/03 21:51
//工厂模式就类似于接口,不同的产品有一个统一产品的接口,不同的工厂有一个统一的工厂接口
//面向接口编程的思想
public interface Cycle {
public void run();
}
public class UniCycle implements Cycle {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("Cycle Run");
}
}
public class BiCycle implements Cycle {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("BiCycle Run");
}
}
public class TriCycle implements Cycle {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("TriCycle Run");
}
}
public interface CycleFactory {
public Cycle getCycle();
}
public class UniCycleFactory implements CycleFactory {
@Override
public Cycle getCycle() {
// TODO Auto-generated method stub
return new UniCycle();
}
}
public class BiCycleFactory implements CycleFactory {
@Override
public Cycle getCycle() {
// TODO Auto-generated method stub
return new BiCycle();
}
}
public class TriCycleFactory implements CycleFactory {
@Override
public Cycle getCycle() {
// TODO Auto-generated method stub
return new TriCycle();
}
}
public class FactoryTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
run(new UniCycleFactory().getCycle());
run(new BiCycleFactory().getCycle());
run(new TriCycleFactory().getCycle());
run(new UniCycleFactory());
run(new BiCycleFactory());
run(new TriCycleFactory());
}
public static void run(Cycle cycle){
cycle.run();
}
public static void run(CycleFactory cycleFactory){
Cycle cycle = cycleFactory.getCycle();
cycle.run();
}
}
//面向接口编程的思想
public interface Cycle {
public void run();
}
public class UniCycle implements Cycle {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("Cycle Run");
}
}
public class BiCycle implements Cycle {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("BiCycle Run");
}
}
public class TriCycle implements Cycle {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("TriCycle Run");
}
}
public interface CycleFactory {
public Cycle getCycle();
}
public class UniCycleFactory implements CycleFactory {
@Override
public Cycle getCycle() {
// TODO Auto-generated method stub
return new UniCycle();
}
}
public class BiCycleFactory implements CycleFactory {
@Override
public Cycle getCycle() {
// TODO Auto-generated method stub
return new BiCycle();
}
}
public class TriCycleFactory implements CycleFactory {
@Override
public Cycle getCycle() {
// TODO Auto-generated method stub
return new TriCycle();
}
}
public class FactoryTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
run(new UniCycleFactory().getCycle());
run(new BiCycleFactory().getCycle());
run(new TriCycleFactory().getCycle());
run(new UniCycleFactory());
run(new BiCycleFactory());
run(new TriCycleFactory());
}
public static void run(Cycle cycle){
cycle.run();
}
public static void run(CycleFactory cycleFactory){
Cycle cycle = cycleFactory.getCycle();
cycle.run();
}
}
0 0
- 工厂模式 -- 工厂方法
- 工厂模式 -- 抽象工厂
- 工厂模式-简单工厂
- 工厂模式-工厂方法
- 工厂模式:静态工厂
- 工厂模式-简单工厂
- 工厂模式-抽象工厂
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-静态工厂
- 工厂模式-抽象工厂
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 生产者与消费者
- using声明
- 猜猜打印结果?
- GPS闹钟(实现基本定位,添加marker以及实现震动提醒)
- 复制高亮代码到印象笔记
- 工厂模式
- 测试——使用Windows Live Writer写日志
- 装饰者模式
- 【转】Activity的生命周期
- OpenglES Blend 笔记
- Linux图谱
- 策略模式
- c语言中函数调用的原理
- linux--set用法