2017-12-27 67 views
0

たとえば、私はライブラリを持っています。それは2つのAPIと1つの内部機能を持っています。他のAPIを実装する際にAPIまたは内部関数に依存する必要がありますか?

  • API:F1()
  • API:F2()
  • 内部関数:F1()

F1は()だけで、そのビジネスロジックのほとんどのために)(F1を呼び出しますF1()はf1()を呼び出す前に余分な入力チェックを追加します。

現在、F2()には実装の一部として同じビジネスロジックが必要です。

F1()またはf1()を呼び出す必要がありますか?

答えて

0

APIはクライアントのニーズに対応し、内部関数はAPI実装のニーズに対応します。 APIを互いに依存させることによって、懸念の分離を台無しにしないのが最善でしょう。

いつかしたら、誰かが、クライアントが必要とすることとは何の関係もない目的に役立つようにAPIを変更します。

+0

ご返信ありがとうございます。私は少し質問を洗練した。 'f1()'は 'F1()'の実装です。他のAPIや内部関数が 'F1()'や 'f1()'を使うべきかどうか疑問に思っています。 – smwikipedia

+0

それは私の答えを変えない。 API実装のためだけのコードを入れる場所が必要であり、F1がその場所であるようです。 –

+0

私たちは同じ意見を持っていると思います。私は 'f1()'が 'F1()'内でのみ使われるべきだとも思っています。他のコードは 'F1()'だけを使うべきです。 – smwikipedia

関連する問題