1

私はおそらくこれを複雑にしすぎています。しかし、私は作成中のライブラリを持っています。それは、「誰でも遊べる」外部のものと、内部のものの 2 つの部分で構成されます。理由を簡単に説明できるように、インターフェイスをクリーンに保つために、内部のものは比較的公開しないようにすることが私の意図です。これが私がやっていることです(これがクレイジーかどうか教えてください)。

外部のものについては、ライブラリがあり、そのライブラリの「一部」として公開する必要があるすべてのものがあります。内部のものについては、内部ライブラリ クラスの一部としてすべてのクラスを持つ別の「my_library_internal」ライブラリがあります。

物事が奇妙になる場所。内部ライブラリは、外部ライブラリをすべての内部ライブラリ メソッドにインポートして、外部ライブラリ オブジェクトを使用します。これにより、最終的にコンパイラからの警告が表示されます (ただし、問題なくコンパイルされているように見えます)。

これはこれを行うための慣用的な方法ですか、それとも、このライブラリを扱う内部または外部のすべてをその一部にして、内臓を過度に公開することを心配しないでください。

4

2 に答える 2

3
于 2014-04-11T19:19:42.770 に答える
2

これはまったく問題ないように思われ、警告を発生させる必要すらありません。

ライブラリが 1 つしかない場合は、ライブラリのプライベート メンバーを使用して、それらをすべて同じライブラリに配置できます ( var _private = foo;)。それを行う方法。

共有された隠しライブラリを実際に隠すことはできませ- 誰かがそれをインポートしたい場合はできますが、それが必要な場合は dart:mirrors を使用してさらに多くの損害を与える可能性があります。

于 2014-04-11T19:23:30.190 に答える