可复用的工厂模式框架....
import java.util.Random;
/**
* 抛硬币和玩色子的游戏 利用工厂可以复用框架
* 看下面的2个简单的硬币 和筛子的小游戏
* 我们通过一个框架整合在了一起 ...
* 整个框架的运行步骤都是一样的 ,我们在我们的游戏内部只要遵循Game接口 那么
* 这就是一个可以复用的框架 我么只需要实现自己的游戏工厂即可
* @author xiaowei
*
*/
interface Game{
void play() ;
}
interface Factory{
Game getGame() ;
}
class Coins implements Game{
@Override
public void play() {
Random r=new Random((int)Math.random()) ;
if(r.nextInt(1)+1==1)
System.out.println("硬币为正面!");
else
System.out.println("硬币为反面!") ;
}
}
class Craps implements Game{
@Override
public void play() {
Random r=new Random((int)Math.random()) ;
int num=r.nextInt(6)+1 ;
System.out.println("色子抛出了"+num);
}
}
class CoinsFactory implements Factory{
@Override
public Game getGame() {
return new Coins();
}
}
class CrapsFactory implements Factory{
@Override
public Game getGame() {
return new Craps();
}
}
public class GameFactoryTest {
public static void play(Factory f){
f.getGame().play() ;
}
public static void main(String []agrs){
GameFactoryTest.play(new CoinsFactory()) ; //抛硬币游戏
GameFactoryTest.play(new CrapsFactory()) ;//色子游戏
}
}