Circle
オブジェクトを作成できるライブラリを使用していて、円の半径と中心を指定してオブジェクトを定義できる状況を想像してみてください。ただし、何らかの理由で、必要なflavour
パラメーターも受け取ります。ここCircle
で、自分のアプリで本当に使用する必要があるとしましょう。ただし、アプリの目的で、フレーバーをFlavours.Cardboard
毎回に設定できます。
この「解決」をするために、私は自分の作成Circle
のみとり異なる名前空間でクラスをradius
し、center
パラメータとしてではなく、外部ライブラリのへの暗黙のコンバータがあるCircle
だけで作成したクラスCircle(this.radius, this.center, Flavours.Cardboard)
のオブジェクトを。したがって、他のタイプのが必要なすべての場所でCircle
、自動変換を実行します。
そのようなクラスを作成するとどうなりますか?より良い解決策はありますか?私のアプリケーションが、この外部ライブラリの上に構築されたAPIであり、他のプログラマーが使用することを目的としていた場合、何か違いはありますか?
MakeCircle
関数を作成してみませんか?
makePlayer
、それ自体に沿って関数を作成することがよくあります。その関数自体は、プレーヤーを配置するための座標のみを受け入れますが、より複雑なコンストラクターに委任します。