私のベース フレームワークでは、複数のプロジェクトで再利用できるクラスを用意したいと考えています。ほとんどの場合、これらは柔軟性を持たせるために一般的なものです。
データを保存してデータを簡単に取得するために使用する小さな小さなヘッダーが 1 つあります。
#pragma once
#include <map>
#include <string>
namespace BaseFrameWork
{
template<class TValue, class TKey = std::string>
class Provider
{
public:
static TValue& Get(TKey const& key);
private:
static std::map<TKey, TValue> _dataMap;
};
}
ええ、これは単なるマップのラッパーですが、データを取得する中心的な場所のようなものとして気に入っています。たとえば、内部にロードされたオブジェクトを誰がどこから気にするかを取得
できます。Provider<Room>::Get("U-18")
このようなグローバル オブジェクトを持つことがいかに嫌われているかは承知していますが、これはパブリック API の一部ではなく、チームが使用しても問題ない個人的なプロジェクトでのみ使用されます。
私が知りたいのは、このパターンに名前があるかどうかです。私はいつもこれを Provider-Pattern と呼んでいました。
そして、このコードがどれほど悪いものであり、私がどれほど気分が悪いかについて話すことは控えてください.