WebサービスAPIを設計しようとしています。APIのほとんどの機能は、基本的にWebアプリケーションと非常によく似ています。
ここで問題となるのは、1つのメソッドを作成し、それらをWebアプリケーションとWebサービスAPIの両方に再利用する必要があるかどうかです。(これは論理的な解決策のようですが、非常に複雑です。Webアプリケーションで使用されるメソッドを複製し、両方を別々に保持する方がはるかに簡単です。つまり、Webアプリケーション用の1つのメソッドとWebサービス用の1つのメソッドです。)
どうやってやるの?
1)再利用:1つの主要な方法であり、WebアプリケーションとWebサービスアプリケーションの両方に再利用します(私はこれが好きですが、複雑です)
- WebAppMethodX --uses-> COMMONFUNCTIONMETHOD_X
- APIMethodX---使用---->COMMONFUNCTIONMETHOD_X
つまり、Commonfunctionmethod_xには、再利用可能な共通機能のセットが含まれています
PRO:コード、メンテナンス、バグが少なくなります。
CON:非常に複雑
2)DUPLICATE:2つのメソッド。1つはWebアプリケーション用、もう1つはWebサービス用です。
- WebAppMethodX
- APIMethodX
PRO:シンプル
CON:複製=より多くのコード、より多くのメンテナンス、より多くのバグ!