問題タブ [presenter-first]

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.

0 投票する
1 に答える
619 参照

design-patterns - Presenter Firstでは、インターフェイスのSubscribeSomeEventメソッドが単純な古いイベントよりも優先されるのはなぜですか?

最近、 Presenter Firstについて知り、ホワイトペーパーやブログなどを読みました。

私が見つけたほとんどの例では、イベントはインターフェース上で直接宣言されるのではなく、そのためのメソッドとして宣言されます。例えば、

理由はよくわかりません。この背後にある理由を説明する紙/記事/ブログをどこかで見たと思いましたが、もう見つかりません。上記のテキストには、単体テストコードのスニペットも含まれていました。これは、単体テストの1つが間違っていたと自分に言い聞かせたことを覚えているからです。

アップデート:

以下は比較のための例です。

購読スタイル:

対イベント:

参考までに、ApplicationPresenterはすぐにガベージコレクションされ、配線が行われないため、上記のイベントスタイルはそのままでは機能しません。

0 投票する
1 に答える
633 参照

wpf - WPF : App.xaml から Shell を参照していないときにアプリケーション リソースにアクセスする

私はWPFの初心者です。私の App.xaml は以下のようになります

app.xaml

プレゼンターファーストのアプローチをしたいので、startupuri は設定しません。app.xaml.cs で次のことを行います

"lightBlueBrush" を staticResource として参照する "SearchBar.xaml" というユーザー コントロールがあります。

デザイナーで「Shell.xaml」を開こうとすると、次のように表示されます。「shell.xaml」は、タイプ「SearchBar.xaml」のインスタンスを作成できなかったため、デザイン時にロードできません。

別の Visual Studio インスタンスを使用して devenv.exe をデバッグすると、app.resources で作成したブラシにアクセスできないことがわかります。

プレゼンター優先のアプローチを行っている場合、リソースにどのようにアクセスしますか?

startupURI が「Shell.xaml」で、スタートアップ イベントが存在しないときに、これが機能していました。

手がかり/アイデア/提案。私は理解しようとしているだけです。

@デザインタイムではなく、アプリケーションを実行すると、すべてが期待どおりに機能します。

0 投票する
3 に答える
1415 参照

java - Presenter クラスの Mockito テストを作成する (Presenter First パターン)

TDD と Presenter First パターンに慣れようとしています。現在、Presenter.class のテスト ケースの作成に取り掛かっています。私の目標は、アクション イベントを含む Presenter.class 全体をカバーすることですが、Mockito でそれを行う方法がわかりません。

Presenter.class:

IView.class:

IModel.class:

PresenterTest.class:

前もって感謝します!