RPGを作る際のデザインパターンについての質問です

プレーヤーが持っているアイテムリストからアイテムを選んで使用し、敵を倒すとアイテムを入手しアイテムリストに加える
という様な処理をクラスを分けて機能の拡張をしやすくなるようにプログラムを書きたいのですが
各クラスにどういうメソッドを用意してどうアクセスしていいのかがわかりません
参考になるようなデザインパターンがあれば教えて下さい
ボタンを使った処理を考えているのでボタンを押した時に実行される関数など具体的に書いてあると嬉しいです