1. ホーム
  2. クラス

[解決済み】「POCO」の定義

2022-04-06 07:48:44

質問

POCOとはどういう意味なのか、どなたか定義していただけませんか?この言葉を頻繁に目にするようになったのですが、プレーンクラスのことだけを指すのか、それとももっと別の意味があるのでしょうか?

どのように解決するのですか?

Plain Old C# Object"。

インフラへの配慮やドメインオブジェクトが持つべきでない他の責任を記述する属性はない、ただの普通のクラスです。

編集 - 他の回答にもあるように、技術的には「Plain Old CLR Object」ですが、David Arnoのコメントのように、特定の言語や技術との結びつきを避けるために「Plain Old Class Object」を好んでいます。

言い換えると、「この製品は また、プロパティに特別な型を返すわけでもありません。

それぞれの例については、以下を参照してください。

POCOの例。

public class Person
{
    public string Name { get; set; }

    public int Age { get; set; }
}

POCOでないものの例。

public class PersonComponent : System.ComponentModel.Component
{
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
    public string Name { get; set; }

    public int Age { get; set; }
}

上の例では、特別なクラスを継承して追加の動作を与えるとともに、カスタム属性を使用して動作を変更しています...どちらのクラスにも同じプロパティが存在しますが、1つは ではなく はもうただの古いオブジェクトです。