1

私のフラスコアプリの分離について少し混乱しています。ユーザーはログインして広告を投稿でき、これらは一般に公開されます。

URL 構造は次のようになります。

  • ユーザーホーム - www.domain.com/user
  • ユーザーログイン - www.domain.com/user/login
  • ユーザー広告リスト - www.domain.com/user/advert
  • ユーザー広告の追加 - www.domain.com/user/vacancy/add
  • 一般広告 - www.domain.com/advert/1

この問題は、ユーザー コントロール パネルの内外に必要な広告フォームとロジックがあるという事実に起因しています。アプリケーションをレイアウトする最も正しい方法は次のうちどれですか。

オプション1:

  • ユーザー ブループリント (URL プレフィックスなし) すべてのユーザー関連ロジックが含まれます

  • Advert Blueprint (URL プレフィックスなし) ユーザーが広告を投稿して一般に表示するなど、広告に関連するすべてのロジックが含まれています。

オプション 2

  • ユーザー ブループリント (/user/ プレフィックス) ユーザー ロジックと広告ロジック (ユーザー コントロール パネルから広告を追加) が含まれます

  • Advert Blueprint (/advert/ プレフィックス) ユーザー コントロール パネル外の広告タスクのみに関連する広告ロジックが含まれます。

4

2 に答える 2

1

オプション 2 が最も論理的な一貫性を提供すると思います。API ではなく Web サイトを構築しているとはいえ、このアドバイスにはまだある程度の関連性があると思います。各エンドポイントはどこから来ているのか明確に定義されており、URL のさまざまな部分の設計図を混在させるという奇妙な状況に陥ることはありません。これにより、問題が発生した場合にどこで作業すればよいかを常に正確に把握できます。

複雑なロジックはすべて、ブループリントの外側とライブラリの内側に配置する必要があります。どこかにデータベースを使用してすべてを保存していると思いますので、とにかくそのためのライブラリが必要になります。次に、フォームが提供される場所であればどこでもフォームに使用できるフォーム テンプレートを用意する必要があります。複雑なロジックがライブラリとフォームにある場合、各エンドポイントで機能を複製するコストはほとんどありません。

出典: 現在、巨大な API の再設計に取り組んでいるため、最近、多くの人とベスト プラクティスについて話し合っています。

于 2014-02-19T20:02:35.093 に答える