4

OAuthLoginOAuth を介したユーザーのログインをサポートするクラスが 1 つあります。Web サイトは、OAuth を使用しない「従来の」ログイン プロセスもサポートしています。2 つのフローは多くのコードを共有しているため、場合によってはそれらを区別する必要があります。

OAuthLogin::isThis()現在のログイン フローが OAuth であるかどうかに関係なく (セッション変数と URL パラメーターをチェックして) ブール値を返す静的メソッドがあります。

メソッドの名前は好きではありませんが、より良い名前は思いつきません。それは一般的な概念だと思います。したがって、何らかのパターンがあるはずです。

OAuthLogin::isThisOAuthLogin()冗長なので嫌いです。

Login::isThisOAuth全てのコードをOAuthLoginクラスに残したいので避けたいと思います。

私は行くべきOAuthLogin::is()ですか?それよりも良いものはありますか?

ありがとう。

4

5 に答える 5

0

ログインのタイプを返すだけのメソッドを基本クラスに追加します。

クラス (疑似コード)

class Login
  method class
    return self.class # Returns the current class.
  end
end

使用法は次のとおりです(疑似コードも):

if currentLogin.class == OAuthLogin
  # ..
else
  # ..
end

これにより、ログインの種類ごとに型固有のメソッドを追加する必要がなく、制御フローをクラスの外に残すことなく、後でさらに型を追加できます。

于 2013-11-07T12:01:52.277 に答える
0

次のいずれかをお勧めします。

OAuthLogin::isCurrent()
OAuthLogin::isCurrentLogin()
OAuthLogin::isCurrentFlow()
OAuthLogin::isCurrentLoginFlow()
OAuthLogin::isActive()
OAuthLogin::isActiveLogin()
OAuthLogin::isActiveFlow()
OAuthLogin::isActiveLoginFlow()
于 2013-11-09T01:53:21.837 に答える
0

どうOAuthLogin::isUsed()ですか?

于 2013-11-14T08:08:39.803 に答える
-1

私は提案しますOAUthLogin::isLoggedIn().

于 2013-11-08T01:38:19.363 に答える