最近、MVCアプリケーションの動作方法に関して4.2でいくつかの大きな変更が行われていると聞きました。ベータ版をダウンロードしましたが、APIはまったく同じようです。誰かが私に今後の変更とそれがすべてについて説明することができますか?更新するとすべてのコントローラーが機能しなくなることを恐れる必要がありますか?
2 に答える
はい、4.2でMVCに加えた変更をかなりメジャーと呼びます。ただし、下位互換性は常に私たちの優先事項です。4.2より前は、MVCの実装に多くの長い未解決の問題があり、人々が必要なことを行うためにあらゆる種類のフープを飛び越えるように促したことを認めます。私たちはこれらを解決し、MVCエクスペリエンスを合理化するとともに、大きなアプリを手にした開発者を対象としたいくつかの機能を追加しようとしています。4.2ベータ2にはこれらのほとんどが含まれるため、フィードバックをお待ちしています。
4.2がリリースされる前にこれらの改善点について書き留める予定ですが、ここに簡単なリストがあります。
Ext.app.EventBus
、@ sraが述べたように、現在はシングルトンであり、アプリケーションで常に利用可能です-直接使用することはあまり意味がありませんがExt.app.Controller
物事を行うことに依存しなくなりExt.app.Application
、依存関係ツリー全体を表示せずにインスタンス化できます。つまり、コントローラーを単体テストできます。- から拡張する独自のアプリケーションクラスを作成し
Ext.app.Application
、このクラスにロジックを含めることができるようになりました。 Ext.application()
言葉では言い表せない黒魔術はもうありません。Applicationクラス名を渡すと、インスタンス化するだけです。以前のように構成オブジェクトを渡すと、これらの構成オプションを使用して新しいアプリケーションクラスが宣言され、インスタンス化されます-上記と同じロジックで、実行が少し異なります- 上記の2つの項目の結果として、すべての依存関係ツリーを同期的に(以前は)
Ext.application()
必要としなくなったため、注意が必要なのは1つです。 - 依存関係を解決する際のあらゆる種類のあいまいさを回避するために、Applicationクラスですべての名前空間(プロジェクトパーツ)を明示的に宣言できるようになりました。
Ext.app.Application
これで、独自の祖先を適切に処理し、アプリケーションのトップレベルのコントローラーとして使用できます。- イベントドメインの新しい概念が導入されました。コンポーネントに関係のないイベントを起動してリッスンできるようになりました。すぐに使用できるいくつかのドメインを提供しており、独自のドメインを簡単に追加できます。これは、以前の記事で説明したようなものですが、よりクリーンで強力です。
主に依存関係の追跡に関係する、下位互換性のためのいくつかの小さな改善とハックがありました。あなたが過度にクレイジーなことをしなければ、これらはあなたをつまずかせるべきではありません。もしそうなら、それがベータ版の目的です。:)
お役に立てれば!
いいえ、まったく奇妙なことをしているのでない限り、恐れる必要はありません。
Ext.app.Application
主な変更点は、コントローラーがへのインスタンスを必要としなくなったことです。これは、Ext.app.EventBus
現在は一種のシングルトンになっているため、すべてのコントローラーが同じインスタンスを使用できるようになったことによるものです。
それが今のところ私が知っていることです。新しい情報を入手した場合、投稿を更新する場合があります