私は推薦システムに取り組んでいます。ユーザーが自分の設定を入力し、その設定に基づいて他の一致するプロファイルがそのユーザーに表示されるAndroidアプリケーションです。私はユーザーからデータを取得し、Firebaseに保存しています。ストラテジーデザインパターンの実装方法は?
これらは数値であり、そのユーザーに合わせたプロファイルを示すために、私は、ユーザ間の類似数を計算するための2つのアルゴリズムを使用しています:Cosine similarity
とPearson correlation
私はアルゴリズムの名前を取得していますアプリケーションと類似のプロファイルを表示するためにアルゴリズムを実行します。
if (request.query.algo === "cosine") {
// compute cosine value
}
else if (request.query.algo === "pearson-correlation") {
// compute pearson correlation coefficents
}
そう、この方法は完全に間違っているリアルタイムアプリケーションだろうと、私はアルゴリズムが実行時にではなく、コンパイル時に決定することができ戦略のデザインパターンを実装したいです。
これで問題は、ストラテジーデザインパターンでは、いつどのアルゴリズムを使用するかを決めるのですか?
たとえば、クレジットカードで何かを購入した場合、クレジットカードの種類は問題になりません。すべてのクレジットカードには情報が暗号化された磁気ストリップがあります。ストリップとそれに含まれる内容は「インターフェース」を表し、カードのタイプは「実装」です。各クレジットカードは他のクレジットカードに置き換えることができ、すべてが互いに完全に独立しています。
同様に、実行時にCosineとPearsonの間で戦略設計パターンを選択する必要があるベースは?
なぜこの方法が間違っていますか?これは依頼に依存しているので、これは実行時にまだchosing戦略です – ByeBye