共通インターフェイスの罠
異なる複数のものがある
異なる複数のものにはそれぞれ異なった得意分野がある
https://gyazo.com/ab259ca763419224b870fdc26f48f9c4
Aが持つ機能を、Bが持たない場合
路線1: サポートしない路線
実装は楽
上で書いた残念なことになる
路線2: エラーにする路線
例えばインターフェイスはあるが、実行するとエラーになる設計
結局「どのバックエンドでは何が使えるか」はユーザが理解しなければならない
路線3: 頑張って実装してしまう路線
モデルmに対してメソッドm.predict_probaは確率推定の結果を返す
確率推定の機能を持たないSVMに対してもこのメソッドが生えている
とても労力がかかる
必ずしも実装できるとは限らない
その場合、路線2に帰着する