-
Notifications
You must be signed in to change notification settings - Fork 1
アーキテクチャ
Ebise Lutica edited this page Aug 18, 2021
·
2 revisions
X-Coreでは、機能を「コマンド」「ハンドラー」「ストア」に分けています。
コマンド、ハンドラーはそれぞれSpigotのコマンドとイベントハンドラーですが、これらはデータの読み書きを直接行いません。データの読み書きは、ストアが担当します。
コマンドはSpigotに登録するコマンドを表します。通常のSpigot APIには構造化機能が無いため、自作しています。
ハンドラーは org.bukkit.Listener
インターフェイスを実装する普通のイベントリスナークラスです。X-Core では、機能別にハンドラーをクラス分けしています。
※歴史的経緯により PlayerHandler
などイベントハンドラーの種類によって分けられているものもあり、これらは機能別に再編する必要があります。
ストアは、データの管理と、処理を持つクラスです。コマンドやハンドラーが処理を持つこともできますが、共通して処理を行う場合はストアに実装します。
ストアは、必ずシングルトンパターンに沿って、GetInstance
静的メソッドを用いて単一のインスタンスを返すように設計する必要があります。