0

ビューの変更を管理するためにルーターを使用する必要がありますか?現在、「親」ビューを使用して「子」ビュー管理を処理しています。

単一の親内に複数の「子」ビューがあります。リンクをクリックすると、子のビュー/ページが変更されます。これにより、URLも変更されます。表示されたビューの変更は、ルーターではなく、親ビューによって処理されます。問題のルーターには何もコード化されていないので、「ダミー」ルーターを作成して使用できるようにしましたBackbone.history

4

1 に答える 1

0

これがアプリケーションを構築するための適切な方法であるという、ある種の検証を探していると思います。あなたが提供した限られた情報から、言うのは難しいです、そしてあなたがいくつかのコードを提供したとしても、あなたの質問は決定的に答えられないかもしれません。

だから、私はそれをこのように言いましょう。他のビューで構成されるBackbone.jsビューの作成に欠陥はないと思います。ビューの変更に関連するすべてのものをルーターに配置する場合は、何か問題があると思います。ただし、親ビューでイベントを表示/添付する必要があるビューを渡すなど、何らかの高レベルの説明をルーターに指定する場合を除きます。そうしないと。

もう一つのポイント。子の見解はどのように関連していますか?それらのいくつかは共通の(高レベルの)インターフェースを持っているのでしょうか?または、親ビューは、検索フォームやいくつかのグリッドやラベルなど、異なるものをラップしますか?または両方?この親ビューが別のページで役立つ可能性はありますか、それともこの特定のページビューなどを管理するだけですか。これはすべて重要です。

親ビューを厳密に拡張するBackbone.View必要があるのか​​、それとも他の種類の「基本」クラスを使用する必要があるのか​​について疑問を呈する理由さえあると思います。しかし、それが機能し、「ビュー」であることにある程度の合理的な関係がある場合、私はわざわざその質問をすることはありません。ジェフ・アットウッドが言ったように、「メタは殺人だ」。ある時点で、これらの種類の議論は非現実的になり、修正または実装する必要のある重要な問題がまだある場合は、合理的な解決策を残すのが最善です。

私の考えでは、ルーターを使用して制御して親ビューに委任し、親ビューに子ビューで処理を行わせる場合は、おそらく問題ありません。

ただし、ルーター内の親ビューのコンストラクターを介して子ビューを渡すことを検討することをお勧めします。多くの場合、オブジェクト自体に構成を作成させるよりも、オブジェクトの構成を別のもので決定する方が良いとは限りませんが、常に良いとは限りません。しかし、常に透明性も求めてください。依存性注入で得られる自由は、コードを抽象化することの鈍感さに値しない場合があります。特に、自分が何をしているのかよくわからない場合はなおさらです。あなたが何をしているのかを理解してから、あなたが考えていなかったかもしれない抽象化を考えてください。

コミュニティの特定の方法と一致することを行っているかどうかを知りたい場合は、backbone.js Googleディスカッショングループにアクセスして、そこで質問を確認または質問する必要があります。

于 2012-09-04T18:01:58.593 に答える