多くのWebアプリケーション(主にASP.NET)は、複数の異なるユーザータイプを処理する必要があります。アプリケーションで異なるユーザータイプを処理する
あなたが生徒と教師の両方が毎日使っている学校ポータルがあるとします。アプリケーションのフロントページには、教師だけがアクセスできるツールへのリンクを除き、ほぼ同じGUIが表示されます。これがメッセージングツールだとしましょう。教師は、教師が誰に送ることができるかを定義する異なる役割を持つことができます。例えば
:Publisher
は、学校のみんなに送信することが許可されている役割を持つ
- 教師。
- 余分な役割を持たない教師は、そのクラスのすべての人にのみ送信することができます。
- 今後、両親はこのポータルにアクセスして、自分の子供に関する詳細情報を見ることもできます。
問題はいつも私のコードはアプリケーション全体で異なるユーザータイプを処理するときに常にif
- 文が混乱しているということです。ユーザーの種類が異なるだけでなく、異なるビジネスルールによっても影響を受けます。私は、さまざまなユーザータイプを適切に処理する方法を見つけることができないと感じています。
私は、ASP.NETの種類の役割の考え方がこれを解決すると思いますが、アプリケーションの周りにはまだif
のステートメントがあります。
私の質問は:if
- ステートメントでコードに感染することなく、アプリケーション内のさまざまなユーザー/ユーザーの種類を処理する方法に関するベストプラクティスですか?
各ユーザータイプごとに異なるクラスがある場合は、クラスの動作を「飾り付ける」ことができます(インターフェイスで完了しましたか?)。 –
私はあなたの質問を正しく理解していないのではないかと心配しています。 –
私の質問です:これはどのように実装しますか?たとえば、ユーザータイプごとに異なるC#クラスがあるとします。何が彼らに、例えば出版のこの振る舞いを与えるでしょうか?私はこれが戦略パターンを見て答えられると思いますが、コードがどのように見えるかをスケッチできるなら本当に甘いでしょう。 –