私は、ユーザーがページ上で見るものを制御するクラスを持っています。いくつかの州があります。最初のビューセットはユーザーオブジェクトによって制御され、そのオブジェクトは以下の項目を制御します。 - でログイン - ログインしていません - 気に入らページ -状態パターンですが、2つの異なる場所から制御されます
が好きないページは、上記のページに縛らキャンペーンが 有効であるかどうかを識別し、別のオブジェクト(キャンペーン)がある - アクティブ をキャンペーン - キャンペーン以上
状態を制御する2つのクラス(ユーザー用とキャンペーン用)が必要なのかと思います。次に、各クラスによって設定された両方の状態に基づいて、ifおよびelseに基づいて正しいビューを推論します。ページが好きで、キャンペーンアクティブ場合
- - ショーユーザーキャンペーン利用可能なページ
- ページが好きで、キャンペーンアクティブでない場合 - ショーprelikeキャンペーン利用可能なページ
- ページが好きで、キャンペーンを超える場合 - ショーユーザーキャンペーンページ オーバー
ページが好きでキャンペーンがページ上でユーザー優先キャンペーンをオーバー表示する場合
「コードの匂い」のようですか?
他にどのようにこれを改善できますか?
キャンペーンの状態はユーザーにリンクされていますか? – CharlesB
「コントロール状態」クラスを持たず、それにキャンペーンオブジェクトを渡すのはなぜですか? –
キャンペーン状態はユーザーにリンクされていませんが、ユーザーは両方の状態に応じて表示されます。私は説明の明確化のために多くの情報を追加しました。 – Dhana