>あと、OO らしいポイントといえば、盤面 Observer を作る必要はあるかもしれない。
これは誰の視点で作るかによると思う。
例えば、プレイヤーからの視点では
プレイヤーがディスプレイするオブジェクトを持つべき。
一方、第三者の視点ならば

class OseroWithDisplay extendsDisplay{
private Display display;
...
}
とするのがいいと思うな。
あるいは

class Osero{
private Board board;
public void moveBlack(Point p){
process(p,BLACK);
のBoardがDisplayクラスを継承したものになってるとか。