問題タブ [puremvc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-flex - フレックスのベストプラクティス?
Flex では、サンプル、チュートリアル、簡単な例が見つけやすいと感じています。
実際のプロジェクトに基づいてヒントや優れたプラクティスを見つけるのは難しいようです。
方法に関するヒント:
- 保守可能な actionscript コードの書き方
- 懸念事項を明確に分離する方法。実際の Flex プロジェクトで、cairngorm、puremvc、easymvc などの MVC フレームワークを使用した人はいますか?
- blazeds/amfphp を使用してサーバーからデータをフェッチする方法は?
- エンドユーザーの待ち時間を短縮する方法は?
- ...
apache-flex - 客観的に、PureMVCに対するCairngormの長所と短所は何ですか?
FlexでMVCフレームワークを使用する理由はたくさんありますが、適切なフレームワークを選択するのは難しいようです。これらのいずれか(または別の)を実装した経験から、皆さんがどう思うか興味があります。
サム
apache-flex - PureMVC の移植性はアプリケーション開発者にどのように役立ちますか?
PureMVC フレームワークの宣言された目標の 1 つは、移植可能にするためにプラットフォームの依存関係を回避することです。言語と API の違いにより、アプリケーション コードは常にプラットフォームに大きく依存し、プラットフォームの依存関係を回避すると、フレームワークが車輪を再発明したり、最小公分母の機能セットのみを提供したりすることを考慮すると、どのように移植性が向上しますか?フレームワークの利点は、アプリケーション開発者としての私ですか?
apache-flex - AS3/PureMVC のベスト プラクティス? 適切に設計されたプロジェクトの最適なコード例は?
私は PureMVC を学習している AS3 の初心者であり、他の AS3 開発者が私のコードを拾い上げて、私が行ったことを簡単に理解できるように、ベスト プラクティスに従ってコードを書きたいと考えています。 、しかし、最善のアプローチではないかもしれないと感じています。
考え?リンク?
apache-flex - ActionScript3のPureMVCフレームワークに動的にロードされるモジュールをどのように接続しますか
FlexBuilder3プロジェクトでPureMVCフレームワークを使用しています。私はすでにApplicationFacadeを接続し、簡単なコマンドを正常に実行しました。
エントリポイントApplication.mxmlにModuleLoaderがあり、ユーザーがApplicationMdiatorからログインするときにModuleLoaderのURLを設定します。
ApplicationMediatorから利用できるインスタンスがないため、URLが設定されたときに動的にロードされるモジュールメディエーターをどこに登録しますか?
モジュール用に別のファサードを作成する必要がありますか?
standards - 標準に合わせてコードを変更するのが最適なのはいつですか?
私は最近、少なくとも XML 解析スクリプトを共有する必要がある 2 つの異なるプログラムのデバッグを担当しています。1 つは PureMVC で作成され、もう 1 つはゼロから作成されました。もともと、ゼロから作成することは理にかなっていましたが (これによりかなりの量のメモリが節約されましたが、メモリの問題はその後解決されました)。
非 PureMVC アプリケーションの移植には、使用する必要のないかなりの時間と労力がかかりますが、ドキュメントとコード共有が容易になります。また、全体的な学習曲線が低下します。それを念頭に置いて:
1. 物事を 1 つの基準に移行するのが最善かどうかを検討する際、何を考慮に入れる必要がありますか?
(関連記事にて)
一部のコードは少し奇妙です。インタープリター アプリはコマンドをある構文から別の構文に変換する必要があったため、インタープリター オブジェクトを持つことは理にかなっています。外部環境との通信が必要なため、1 つのオブジェクトが環境と対話し、そのためにインタプリタのみを処理する方が理にかなっています。
事実上、アンチシングルトンが作成されました。オブジェクトはインタープリターとのみやり取りするだけで、それだけです。別のクラスのメンバーがそのパブリック メソッドの 1 つを呼び出そうとすると、オブジェクトは Exception を発生させます。
これを達成するためのより良い方法がありますが、それは間違いなく少し奇妙です。同じことを達成するためのより標準的な手段がありますが、多くの場合、非常に大きなクラスまたはクラス ファイルを作成する必要があります。私が見つけた標準に準拠した唯一の解決策は、現在必要とされているのと同じくらい多くのコメントと説明を必要とするでしょう。これを考慮して:
2. いくつかのコードが風変わりであるが効果的である場合、より扱いにくくなったとしても、風変わりでないように変更する方がよいでしょうか?
model-view-controller - MVC/MVP/MVPC では、ビジネス ロジックをどこに配置しますか?
MVC/MVP/MVPC 設計パターンでは、ビジネス ロジックをどこに配置しますか? いいえ、ASP.NET MVC Framework (別名 "Tag Soup") のことではありません。
MVC/MVPCの「Controller」や「Presenter」に入れるべきだという人もいます。しかし、モデルの一部であるべきだと考える人もいます。
どう思いますか、なぜですか?
flash - Flash プロジェクト用の PureMVC に代わるより良い方法はありますか?
以前の Flash (Flex ではない) プロジェクトで PureMVC を使用しました。要件に合わせて調整したところ、うまく機能しましたが、設計が過剰で扱いにくいと感じました。Mateは明快でシンプルなため、多くの肯定的なレビューが寄せられていることに気付きましたが、Flash ではなく Flex プロジェクト専用です。
Flash の PureMVC のようなフレームワークを使用せずに、MVC の独自の分離を維持する方が簡単/明確でしょうか?または、PureMVC に代わるより良い方法はありますか?
編集:私が見つけた唯一の軽量候補はflashMVC でした。
apache-flex - Flex PureMVC: メディエーターを登録するタイミング
セットアップ:
ログイン パネルとメイン パネルのビュースタックを表示するメイン mxml ファイルを用意します。メイン パネル内には、フォーム パネルとリスト パネルの 2 つのパネルがあります。
起動時に、アプリケーション メディエーターとログイン メディエーターは、それぞれアプリケーション パネルとログイン パネルにアタッチされます。login_successful イベントで、アプリケーション メディエーターはメイン パネル メディエーターをメイン パネルに接続します。次に、メイン パネル メディエーターがフォーム パネルとリスト パネルのメディエーターをアタッチします。
問題:
フォーム パネルとリスト パネルのメディエーターをメイン パネル メディエーターに登録する場合、メイン パネルからの (リスト/フォーム パネルへの) ビュー コンポーネントの参照が null です。メイン パネル メディエーターからフォーム パネルへの参照は null です。同じことがリスト パネルにも当てはまります。その理由は、フォームとリストのパネルがまだレンダリングされていないため、null になるためです。
パネルを熱心にロードする方法はありますか? または、リスナーをアタッチして、パネルが作成された後にレジスタメディエーターを呼び出すように設計するより良い方法はありますか?
申し訳ありませんが、flex にはまったく新しいので、このような同様の問題に遭遇した人へのフィードバックは大歓迎です。
apache-flex - PureMVC (AS3) で継承されたクラスと動的ビュー
この状況で、PureMVC で継承されたクラスのビューのベスト プラクティスを知りたいと思っていました。
- 複数のクラスが BaseClass を継承します (InheritedClass1 と InheritedClass2 としましょう)
- 各 InheritedClass にはそれぞれのビューがあります (基本ビュー クラスから派生していますが、それぞれが一意です)。
- 特定のデータセット (InheritedClass1/2 オブジェクトの ArrayCollection など) を使用して、それぞれのビューを動的にロードする必要があります。
- データセットは比較的大きいため、TileList が適しています (現在表示されているオブジェクトのみをインスタンス化するため)。
いくつかの解決策を考えることができますが、それらは「ハック」すぎて最適な解決策にはなりません。
In View: ビューを State に関連付ける BaseClassView のリピーター (InheritedClass1 オブジェクトを追加するために "InheritedClass1" 状態に設定) 長所: 不要なメモリの増加がない (State オブジェクトは必要に応じてインスタンス化される)データ型なので、カップリングが追加されます
Mediator: ArrayCollection をループし、データ型に基づいてビューを addChild() します。 長所: 動作します。短所: メディエーターはビューに何かを追加しているため、メディエーターとビューの分離のポイントが無効になります。リピーターより遅い。
コメントやその他の提案をいただければ幸いです。ありがとう!