2012-04-01 9 views
0

私は小さな管理アプリケーションを構築しており、クライアントでBackbone.jsを使用したいと考えています。1ページに複数のセクションをモデル化する方法

今、私は自分のページをどのようにモデル化すべきかを理解する上でいくつか問題があります。私は例を挙げます。

私は2ページ、商品、注文があると言います。

私は製品ページで理解しています。製品モデル、コレクション、およびビューがあります。注文ページでも同じです。それはかなり簡単です。

問題は、ページの他のセクションにあります。私のアプリケーションは認証を持っているので、ユーザーの詳細とログアウトボタンの小さなセクションがあります。ユーザーが持っているメッセージが表示される小さなセクションがあり、それらを表示するリンクがあります。

私はアプリケーションのメニューを持っているだけでなく、すべてのページにも小さなメニューがあります。

このようなページをモデル化するにはどうすればいいですか?私はそのページのモデル/ビューを作成することを考えていました。あるいは、私はmenuModel、currentUserModel、messagesModelのような小さなモデルを作成します。 http://addyosmani.com/largescalejavascript/から引用 ジャスティン・マイヤー、著者JavaScriptMVC( - 「すると、大きなアプリケーションを構築するための秘訣が大きいアプリケーションを構築されることはありません小片にアプリケーションを破る、あなたの大きなアプリケーションにこれらのテスト可能な、一口大を組み立てる。。」

答えて

1

:)

引用のポイントは、あなたの文脈では、あなたがあなたの記事の最後に提案されたアプローチを取るべきであるということです。

あなたは、すべてのアプリケーションに適した多数の小さな「アプリケーション」を構築する必要があります。あなたが記述するページの各セクション(認可、メニュー、メッセージ、メインコンテンツエリア)は、それがカプセル化され、アプリケーション全体から分離された小さなコードセットでなければなりません。

これらすべての小さな部分をいったん完成させたら、それらを通信させる方法がいくつかあります。 Addy Osmaniがそのリンクに示唆しているように、メディエータを使うことができます。イベントアグリゲーターを使用することができます。一般的にここで使用して説明します:http://lostechies.com/derickbailey/2011/07/19/references-routing-and-the-event-aggregator-coordinating-views-in-backbone-js/もちろん、他のパターンも使用できます。

多くの小さなアプリケーション(ユーザーがやりとりしているオーバーオールページの機能領域ごとに1つずつ)を構築するアプローチを取ることで、適切に分離され、整理され、容易になるコードを作成します長期的に維持する。

+0

ニースの答えは、私は '咬合サイズの'作品を作成する点を理解しています、これは私が常に自分のアプリをデザインする方法です。私もリンクを見て、これは私が間違いなく使用する本当に素晴らしい例です。しかし、私の他の懸念は次のとおりです。小さなチャンクのほとんどは、サーバー(websockets/ajax)と通信しようとしています。あなたが小さなモデルのすべてが自分の要求をするようにしたら、これは大した混乱をもたらさないでしょうか? –

+0

どのくらいの「混乱」が発生するかはあなた次第です。いくつかの異なる要求をサーバーに戻すこと自体が混乱を招くことはありません。これらの呼び出しを行い、それらの呼び出しから受け取った情報に応答するコードをどのように編成すれば、それが混乱するかどうかが決まります。 1つの特定のリソースに対してどのように通信するかを知っている小さな断片を持つことで、それらの断片をそれぞれきれいに保つことができます。それから、あなたは、部分間のコミュニケーションをきれいにしておく必要があります。それは、プレイ中の他のパタ​​ーンがどこにあるかです。 –

+0

私は今日そのことに取り組むつもりです、多分私はそれが複雑すぎると考えています。 –

関連する問題