2012-02-23 9 views
1

は、私はしばらくもしアカウントオブジェクト を返すアカウントのログイン機能を実装するためのベストプラクティスをある何このベストプラクティスのログイン機能は、私はこの質問は前に依頼された場合は知らない

を見つけることを試みましたログインが成功しない(アカウントがブロックされている、アカウントの必要性の確認、アカウントが存在しない、など....)

現在私はこのような何かを実装し、

AccountBo resultAcc = null; 
//this is the result account if sucessful login 

LoginStatus ls = checkUserLogin(useerName, password, ref resultAcc);  
//the return value is an enum with different possible statuses 

ありがとうございます!

答えて

2

私の提案のためではなく、それが完全に酷使されているので、「ベストプラクティス」という用語を使用するのは非常に慎重ですが、例外をスローしないでください(LoginStatusのステータスコードメンバーを持っているか、ログインが失敗した場合の特定のエラーに応じた専用の例外、または両方の組み合わせ)

次に、オブジェクトがAccountBoのオブジェクトを返す型として使用します。

時期尚早の「例外の防止」コメント: これらの日は(パフォーマンスが怪しいという理由で)例外が早すぎると非難されることがあります。しかし、実際のユーザ/ログインのチェックでは、CPU /サイクルのシェアがかかると仮定します。そのため、例外を回避する作業は本当に価値がありません。

+0

貴重な答えをいただきありがとうございます。これはソリューション全体の戦略です(例外は使用しないでください)、私はアーキテクチャを適用しませんでした。この状況に対して他のより良いパターンがあるかどうか確認したいだけです –

関連する問題