拡張可能なEAVモデルを実装するための正しい方法は何かと思っていました。
私はその中を見るMagento\Catalog\Model\Product方法は、getExtensionAttributes()次のように実装されています。
public function getExtensionAttributes()
{
    $extensionAttributes = $this->_getExtensionAttributes();
    if (!$extensionAttributes) {
        return $this->extensionAttributesFactory->create('Magento\Catalog\Api\Data\ProductInterface');
    }
    return $extensionAttributes;
}しかし、顧客モデルやカテゴリモデルなど、他のモデルでは
public function getExtensionAttributes()
{
    return $this->_getExtensionAttributes();
}これは、extension_attributesキーが以前に設定されていない場合、NULLの結果になる可能性があります。
実用的には、最初の方を好みます。これによりMagento\Framework\Api\ExtensionAttributesInterface、モデルがインスタンス化されたばかりの場合でも、常にのインスタンスを確実に取得できます。
しかし、なぜそれが他のモジュールで使用されないのですか?カスタマーモジュールに表示されるデータモデルの新しい分離に反対ですか?もしそうなら、拡張属性をどのように初期化するべきですか?