# 任务8：过大的类

我们的重构已经逐渐接近尾声，到了乘胜追击的时候了。这节课最后的任务，就是继续优化`Game`这个“大类”，把它拆解成更单一、更专注的游戏类。

如何拆解一个大类呢？这又是《重构》第 3 章可以回答的问题，相信同学们已经非常熟悉这个重构的过程了，这里我把这个问题的答案和解决方法留给你去探索了。

## 你的任务

Java：

```
git checkout task-8-large-class
cd java && ./gradlew clean build
```

JavaScript：

```
git checkout task-8-large-class
cd javascript && npm test
```

分解`Game`类，直至符合以下三个条件

* 类的总行数不超过 70 行
* 类的内部成员变量不超过 2 个
* 类的`public`函数不超过 3 个

## 思考

* 拆解大类有哪些方法？
