Dart で part/part of と import/export をいつ使用すればよいですか? 質問する

Dart で part/part of と import/export をいつ使用すればよいですか? 質問する

partDart でライブラリを使用する場合の/part ofimport/の違いが完全には理解できませんexport。例:

one.dart:
library one;
part "two.dart";
Class One {
};

そして

two.dart:
part of one;
import 'somefile.dart';
Class Two {
}

library one;
import 'two.dart';
Class One {
}

そして

library two;
import 'somefile.dart';
export 'somefile.dart';
Class Two {
}

どちらのシナリオも同じことを行うようです。ではなくpartとを使用する方が有利なのはどのような場合ですか? また、は機能せず、 とが機能するシナリオはありますか?part ofimportimportpartpart of

ベストアンサー1

2018/03更新

partまた、part of最近ではコード生成シナリオで(非推奨のトランスフォーマーの代わりに)ますます使用されるようになっており、すぐになくなる可能性は低いです。

built_value、、およびその他多くのパッケージがjson_serializableこれに依存しています。

推奨されないのは、1 つのライブラリ ファイルと、その他のすべてのファイルをそのライブラリの一部にすることで、パッケージのすべてのファイルを 1 つのライブラリにまとめるパターンのみです。

オリジナル

Dart では、プライベート メンバーは同じライブラリ内でアクセスできます。 をimport使用すると、ライブラリをインポートし、そのパブリック メンバーにのみアクセスできます。 part/ を使用するとpart of、1 つのライブラリを複数のファイルに分割でき、これらのファイル内のすべてのコードからプライベート メンバーにアクセスできます。

上記の更新の以下の段落の説明を参照してください

part/ の使用はpart of推奨されておらず、Dart チームはそれを削除することを検討しています。彼らは "friend" のようなものを導入すると思います (dart-lang.js の最新版は http://github.com/dart-lang/sdk/issues/22841 です。part) では、 / が廃止される前に、2 つのライブラリが互いのプライベート メンバーにアクセスできる代替手段が提供されますpart of(将来の Dart バージョンで可能になるかもしれません)。

おすすめ記事