私はおそらくこれを複雑にしすぎています。しかし、私は作成中のライブラリを持っています。それは、「誰でも遊べる」外部のものと、内部のものの 2 つの部分で構成されます。理由を簡単に説明できるように、インターフェイスをクリーンに保つために、内部のものは比較的公開しないようにすることが私の意図です。これが私がやっていることです(これがクレイジーかどうか教えてください)。
外部のものについては、ライブラリがあり、そのライブラリの「一部」として公開する必要があるすべてのものがあります。内部のものについては、内部ライブラリ クラスの一部としてすべてのクラスを持つ別の「my_library_internal」ライブラリがあります。
物事が奇妙になる場所。内部ライブラリは、外部ライブラリをすべての内部ライブラリ メソッドにインポートして、外部ライブラリ オブジェクトを使用します。これにより、最終的にコンパイラからの警告が表示されます (ただし、問題なくコンパイルされているように見えます)。
これはこれを行うための慣用的な方法ですか、それとも、このライブラリを扱う内部または外部のすべてをその一部にして、内臓を過度に公開することを心配しないでください。