Gobang的设计之路
-
设计要求:仿照书上围棋的设计,至少使用5种设计模式,设计一款五子棋。
- 设计思路:抽象工厂模式、备忘录模式、职责链 模式、单例模式和享元模式。其中抽象工厂模式用于实现主题工厂的创建,给用户提供多种主题模式供用户选择;备忘录模式用于给用户提供悔棋功能;职责链模式给系统和用户设置不同职责,控制用户悔棋次数;单例模式用于创建唯一棋子;享元模式用于设计五子棋的棋子类。 —
- 设计模式结构视图
- 抽象工厂模式
- 备忘录模式
- 单例模式
- 职责链模式
- 享元模式 —
- 实例类图
-
抽象工厂模式
-
备忘录模式
-
单例模式
-
职责链模式
-
享元模式
- 设计文档
- 界面实现
- 登陆界面
-
主界面
-
游戏界面
-
主题二界面
- 代码补充说明
职责链模式类图补充代码:
/**
* 职责链模式
*/
public abstract class Officer {
protected Officer successor;
public void setSuccessor(Officer officer) {
successor = officer;
}
//抽象方法:判断账户类别
public abstract boolean dealAccount(int account);
}
单例模式类图补充代码:
import java.awt.Image;
import javax.swing.ImageIcon;
/**
* 运用单例模式,定义白棋棋子类
*/
public class WhiteChess implements Chess {
private static final WhiteChess whiteChess = new WhiteChess();
private Image whitechessSign;
private WhiteChess() {
whitechessSign = new ImageIcon("images/white.png").getImage();
}
public static WhiteChess get_WhiteChess() {
return whiteChess;
}
public void sign(ChessPosition position) {
}
@Override
public Image get_Sign() {
return whitechessSign;
}
}
详细代码
- 详细设计文档请见: http://download.csdn.net/download/qq_41422448/12083705
- 详细代码请见: http://download.csdn.net/download/qq_41422448/12083705
欢迎查看我的CSDN博客:Welcome To Ryan’s Home