私の質問は、私が取り組んでいる特定のコードには関係しませんが、より一般的にはWebアプリケーションを構造化するためのベストプラクティス、より具体的には、特定の種類のWebアプリケーションを構造化するための提案に関連しています。私は取り組んでいます。この場合、アプリケーションは現在、どのパラダイム(mvcなど)に従っても構築されておらず、その機能の詳細を考えると、それが良いことなのか悪いことなのかわかりません。
このアプリケーションを使用すると、ユーザーは動的に生成されるWebフォームに入力できます。これらのフォームを構築する場合(主にjQuery / AJAXを使用)、データベースから管理者が生成した情報を取得する必要があります。これにより、フォームの構造が決まります。また、データベースからユーザーが生成した情報を取得して、フォームの入力にコンテンツを入力する必要があります。コード全体で2つ(構造とコンテンツ)を概念的に分離する(または少なくとも互いに区別する)ようにしましたが、フォームを希望どおりに生成するには、フォームが必要であることに気づきました。一緒に混ぜました。
たとえば、フォーム自体は比較的複雑であるため、管理者はフォームにさまざまなセクションを作成して、ユーザーがセクションごとに複数のエントリを入力できるようにすることができます(したがって、管理者は「過去の雇用」と呼ばれるセクションを作成して、ユーザーが次のことができるようにすることができます。同じ入力のコレクションを使用して複数のエントリを追加します)。したがって、フォームを作成するために、私は最上位から始めて、階層を下に向かって作業します。
- 管理者が生成した構造を使用してフォームを作成します。
- 管理者が生成した構造を使用してセクションを作成します。
- (複数エントリセクションの場合)ユーザー生成コンテンツを使用してエントリを作成します。
- 管理者が生成した構造を使用して入力を作成します。
- ユーザー生成コンテンツを使用して入力を入力します。
これは、構造をループすることとコンテンツをループすることの間の切り替えであり、少なくとも私が実装している方法よりも、概念的ではないにしても、少しずさんだと思います。スイッチは必要なもののように思えますが、上品にスイッチを入れる方法には困惑しています。これは、プログラマーがこれらのタイプのものを一般的にどのように構造化するかについて1つか2つ学ぶことが役立つと思うところです(私は専門的な訓練を受けていません...)既存のパラダイムまたは一般的に受け入れられている方法論がありますか?フォームの構造のコンポーネントは、ユーザーが生成するコンテンツとは別に、フォームの階層構造を容易にすると同時に、それらにデータを入力しますか?
ありがとう。