OOD で数独パズルをデザインしようとしています。
一方では、各挿入後にアクティブ化される検証関数を使用してマトリックスに搭乗することを表すのは安っぽく見えます
一方、ボードを「ブロック」で表す方が便利な場合があります。各セルには、それを含む 3 つのブロック (列、行、正方形) が割り当てられます。ここでの検証関数は、ポリモーフィズムを使用してブロック クラス (列/行/正方形) に応じて異なる方法で実装され、セルに属する各ブロックで番号を挿入すると 3 回アクティブになります。この方法はより「OOD」に見えますが、メモリの面から見ると非常に高価です。
どの方法が良いと思いますか?OODでありながら安価な方法はありますか?