質問

私はおそらくこれを複雑にしています。しかし、私は私が作っている図書館を持っています。それは2つの部分を持つでしょう、外部の "だれでもこれらのものと遊ぶことができる"ものと内部のものがあります。インターフェースを清潔にしやすくするために、内部のものが比較的露出していないという私の意図です。だからここに私がやっていることです(これが狂っているかどうか私に言う)。

外部のものでは、図書館を持っていて、そのライブラリの「部分」として公開されるべきすべてがあります。内部のことについて、私は内部ライブラリクラスの一部としてそのクラスのすべてを持つ別の "my_library_internal"ライブラリを持っています。

物事が変だところです。内部ライブラリは、外部ライブラリをすべての内部ライブラリメソッドにインポートして、外部ライブラリオブジェクトを使用します。これにより、最終的にコンパイラからの警告が発生します(常にコンパイルされているように見えます)。

これを行う慣性的な方法は、この図書館、内部または外部、その一部を扱うすべてのものを作るべきだけで、腸を露出させることを心配することはありません。

他のヒント

これは完全に大丈夫だと思われ、警告を引き起こす必要さえないはずです。

ライブラリーを1つしかない場合は、ライブラリー・プライベートメンバーを使用したり、それらをすべて同じライブラリ(var _private = foo;)に入れたりできますが、「プライベート」機能を共有する複数の露出ライブラリがある場合は、共有「非表示」を持つ場合ライブラリはそれをする最も簡単な方法です。

共有隠しライブラリを非表示にすることはできません - 誰かがそれをインポートしたい場合は、それでも、彼らはおそらくDart:Mirrorsを使用してもっと多くのダメージを与えることができます。欲しい。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top