C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: 実装クラスについて


(過去ログ 121 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■72401 / inTopicNo.1)  実装クラスについて
  
□投稿者/ しーちゃん (15回)-(2014/06/06(Fri) 18:26:35)

分類:[C#] 

2014/06/06(Fri) 18:33:02 編集(投稿者)
2014/06/06(Fri) 18:29:34 編集(投稿者)

ご教授お願いします☆

実現したいことは、バッチ実行中であることをアプリケーション上で通知するために、各機能(画面)を開く際にバッチ実行中であるか確認し、バッチ実行中であればメニューバーにバッチ実行中のメッセージを表示する実装クラスを教えてください。

アプリケーション上からバッチ実行ボタンを押下したらアプリ制御テーブルへバッチ実行のステータスが更新され、アプリ制御テーブルへバッチ実行中のステータスを見にいき、ステータスがバッチ実行中だったらアプリのヘッダー(メニューバー)に"バッチ実行中"といったメッセージを表示させたいまた、アプリ制御テーブルへバッチ実行のステータスがバッチ実行中でなかったらメッセージを消したいのですが、簡易的なものでよいのですが、どのような実装をするクラスを作ればよいのでしょうか?

言語はC#とXAMLでWPFのMVVMパターンで作っています。
DBは、SQL Serverです。
引用返信 編集キー/
■72405 / inTopicNo.2)  Re[1]: 実装クラスについて
□投稿者/ 渋木宏明 (25回)-(2014/06/07(Sat) 10:48:38)
渋木宏明 さんの Web サイト
> アプリケーション上からバッチ実行ボタンを押下したらアプリ制御テーブルへバッチ実行のステータスが更新され、アプリ制御テーブルへバッチ実行中のステータスを見にいき、ステータスがバッチ実行中だったらアプリのヘッダー(メニューバー)に"バッチ実行中"といったメッセージを表示させたいまた、アプリ制御テーブルへバッチ実行のステータスがバッチ実行中でなかったらメッセージを消したいのですが、簡易的なものでよいのですが、どのような実装をするクラスを作ればよいのでしょうか?

上記の機能を実現する上で、具体的にどういった点が分からないのでしょうか?

「アプリ制御テーブル」を読み書きする方法、もしくは「アプリ制御テーブル」の状態に応じてアプリケーション画面のメッセージを変更する方法、あるいはそれ以外の何か?
引用返信 編集キー/
■72460 / inTopicNo.3)  Re[2]: 実装クラスについて
□投稿者/ しーちゃん (16回)-(2014/06/10(Tue) 12:14:48)
渋木宏明さん

回答いただきましてありがとうございます。
具体的には、
「アプリ制御テーブル」の状態に応じてアプリケーション画面のメッセージを変更する方法がわかりません。
DBへアクセスして対象となるアプリ制御テーブルのステータス(Valueみたいなもの)を取得して、
アプリケーション画面のメッセージを変更したいのですが、
MVVMパターンなのでModelに何を?Viewに何を?ViewModelに対して何を?コードとして書いてあげればよいのか試行錯誤中です。。



引用返信 編集キー/
■72465 / inTopicNo.4)  Re[3]: 実装クラスについて
□投稿者/ 渋木宏明 (32回)-(2014/06/10(Tue) 13:17:06)
渋木宏明 さんの Web サイト
> MVVMパターンなのでModelに何を?Viewに何を?ViewModelに対して何を?コードとして書いてあげればよいのか試行錯誤中です。。

Model と View の寿命が分からないのでざっくりとした話になりますが。。

View に「バッチの実行状態を表示」するのであれば、「バッチの実行状態」は Model に配置するべきです。

MVVM の枠組みで普通に作れば、Model が保持する「バッチの実行状態」が変化すれば、View の「バッチの実行状態の表示」は連動して変化するはずです。

とすれば、後足りないのは

・タイマーなどを使用して、定期的に DB に対して「バッチの実行状態」を問い合わせる
・DB から取得した「バッチの実行状態」を Model が保持する「バッチの実行状態」に反映

という仕組みをどこに持つか、って話ですね。

MVVM の枠内に押し込めるなら Model になるでしょう。

ただ、画面遷移みたいなものがあって、複数の画面で「バッチの状態」を表示する必要があるなら、もう少し考える余地があるかと思います。
引用返信 編集キー/
■72469 / inTopicNo.5)  Re[4]: 実装クラスについて
□投稿者/ しーちゃん (17回)-(2014/06/10(Tue) 16:53:08)
渋木宏明さん

度々、アドバイスありがとうございます。
複数の画面で「バッチの状態」を表示する必要がありまして、
それはそれで考えたいと思うんですが、
MVVM の枠組みで普通に作れば、Model が保持する「バッチの実行状態」が変化すれば、View の「バッチの実行状態の表示」は連動して変化するはずのクラスの実装は何かサンプル的なものはあったりしますか?
検索してもなかなかMVVMパターンのサンプル的なものがないので、
もし何かございましたらお手数をお掛けしますがご教授ください。
宜しくお願いします。




引用返信 編集キー/
■72470 / inTopicNo.6)  Re[5]: 実装クラスについて
□投稿者/ 渋木宏明 (33回)-(2014/06/10(Tue) 18:43:22)
渋木宏明 さんの Web サイト
> MVVM の枠組みで普通に作れば、Model が保持する「バッチの実行状態」が変化すれば、View の「バッチの実行状態の表示」は連動して変化するはずのクラスの実装は何かサンプル的なものはあったりしますか?

フツーに作った View に INotifyPropertyChanged を実装する Model をバインドすれば、Model の値が変更されたら View の表示が変わる、とゆー動作は MVVM とゆーか XAML なアプリケーションのごく基本的な動作なので。。

INotifyPropertyChanged をキーワードに含めて、サンプルを探してみてください。

WPFサンプル:INotifyPropertyChanged を実装し、オブジェクトの変更を反映させる
http://gushwell.ldblog.jp/archives/52300866.html

第6回 「コマンド」と「MVVMパターン」を理解する (3/3)
http://www.atmarkit.co.jp/ait/articles/1011/09/news102_3.html

INotifyPropertyChangedはViewModelで実装?Modelで実装?
http://jin.hatenablog.jp/entry/2012/10/24/221857
引用返信 編集キー/
■72472 / inTopicNo.7)  Re[6]: 実装クラスについて
□投稿者/ しーちゃん (18回)-(2014/06/10(Tue) 21:06:54)
渋木宏明さん

丁寧なアドバイスをいつもありがとうございました。
お陰様で何とか出来そうです。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -