私はJavaにかなり慣れていません。私は PHP 出身で、魔法の __get および __set メソッドを使用して、php でレジストリ クラスを作成していました。システムの他の部分が簡単にできるように:
registry.foo = new Foo();
私はゲームエンジンを作成しようとしていることに言及する必要があります。Java atm のレジストリは次のとおりです。
class Registry {
private static Map<String, Object> box = new HashMap<String, Object>();
public static Object get(String key) {
if (Registry.box.get(key) != null) {
return Registry.box.get(key);
}else {
return null;
}
}
public static void set(String key, Object o) {
Registry.box.put(key, o);
}
}
次に、システムの他の部分がレジストリにアクセスするには、現在、次のすべてが必要です。
((Object) Registry.get("Object")).doSomething();
これは本当にたくさんのコードです。php では、これは次のように簡単に実行できます。
Registry.foo.doSomething();
これをもう少し簡単にする方法はありますか?パブリックフィールドを作成できると思いますが、レジストリクラス自体には不明な新しいオブジェクトを追加する必要がある可能性があるため、レジストリクラスはこれらのフィールドを暗黙的に作成する必要があります..迷惑です:P
前もって感謝します!