探検
MVVMについて語ろう
■ このスレッドは過去ログ倉庫に格納されています
2012/06/06(水) 11:03:33.21
WPF/Silverlight/WinRT開発の必須技術、MVVMについて語ろうではないか!
503デフォルトの名無しさん
2012/11/18(日) 16:17:28.34 私怨ならヲチでやれ
504デフォルトの名無しさん
2012/11/18(日) 18:51:48.91 ここって元々WPFスレを正常化するための隔離スレッドだからいいんだよ。
便所の落書きスレッドで。
いやなら見るなw
by 岡村
便所の落書きスレッドで。
いやなら見るなw
by 岡村
505デフォルトの名無しさん
2012/11/18(日) 18:59:24.39 まあアスペには違いない
506デフォルトの名無しさん
2012/11/18(日) 20:26:20.24 尾上さんは
「日本でMVVMを正しく語れる人間は自分以外にいないッ!!」
って断言してたしスレ名を「尾上について語ろう」に修正してもよいと考えられる
「日本でMVVMを正しく語れる人間は自分以外にいないッ!!」
って断言してたしスレ名を「尾上について語ろう」に修正してもよいと考えられる
507デフォルトの名無しさん
2012/11/18(日) 20:52:02.11 ここMVVMやってる奴はキチガイだらけという見本のスレか
508デフォルトの名無しさん
2012/11/18(日) 20:58:34.33 そもそもMVVMって何だよ
ぐぐってもクソみてーなサンプルコード乗せただけの記事しか出てこないしまともに概念を解説してるやついねーのな
コマンド(笑)とか冗長すぎてもうね
ぐぐってもクソみてーなサンプルコード乗せただけの記事しか出てこないしまともに概念を解説してるやついねーのな
コマンド(笑)とか冗長すぎてもうね
509デフォルトの名無しさん
2012/11/18(日) 21:04:18.24510デフォルトの名無しさん
2012/11/18(日) 22:37:36.36511デフォルトの名無しさん
2012/11/18(日) 22:40:25.76 一応言っておくとPDSは一般的な用語じゃないから通じないと思うぞ。
512デフォルトの名無しさん
2012/11/18(日) 22:41:17.17 一般的にはフリーソフトで通じる
513デフォルトの名無しさん
2012/11/18(日) 23:36:11.21514デフォルトの名無しさん
2012/11/18(日) 23:39:05.83 Wikiにないから一般的じゃないと推定される
515デフォルトの名無しさん
2012/11/18(日) 23:40:30.50 どこのWikiだよ
516デフォルトの名無しさん
2012/11/18(日) 23:42:35.17 PDS
http://ja.wikipedia.org/wiki/PDS
パブリックドメインソフトウェア(Public domain software)
かつてのドイツの政党である民主社会党(Partei des Demokratischen Sozialismus)。合併し、現在は左翼党 (ドイツ)に。
FTTHにおけるネットワーク構成(ネットワークトポロジー)の一つ。(Passive Double Star)
毛利元貞が考案した護身術パーソナルディフェンスシステムの略。
テレビ番組の制作会社の名称。PDS (制作プロダクション)を参照。
先駆動システム(Pre Driving System)
プラン・ドゥー・シー(Plan Do See) PDCAサイクルを参照。
アップルが採用していた拡張スロット。(Processor Direct Slot)
http://ja.wikipedia.org/wiki/PDS
パブリックドメインソフトウェア(Public domain software)
かつてのドイツの政党である民主社会党(Partei des Demokratischen Sozialismus)。合併し、現在は左翼党 (ドイツ)に。
FTTHにおけるネットワーク構成(ネットワークトポロジー)の一つ。(Passive Double Star)
毛利元貞が考案した護身術パーソナルディフェンスシステムの略。
テレビ番組の制作会社の名称。PDS (制作プロダクション)を参照。
先駆動システム(Pre Driving System)
プラン・ドゥー・シー(Plan Do See) PDCAサイクルを参照。
アップルが採用していた拡張スロット。(Processor Direct Slot)
517デフォルトの名無しさん
2012/11/18(日) 23:44:53.19518デフォルトの名無しさん
2012/11/18(日) 23:48:19.69519デフォルトの名無しさん
2012/11/18(日) 23:51:14.50 で、そのPDSとMVVMに何の関係が?
520518
2012/11/18(日) 23:57:05.51 MVVMは、XAML系フレームワークにおけるP(resentation層)の問題を解決するもの
その前提としてPとD(omain層)の分離がある
その前提としてPとD(omain層)の分離がある
521518
2012/11/18(日) 23:59:12.80 とはいえこれはあくまでパターンであり、絶対の解法ではない
その証拠として、MicrosoftもXAML系コンポーネントベンダーもMVVMを推奨してないという事実がある
その証拠として、MicrosoftもXAML系コンポーネントベンダーもMVVMを推奨してないという事実がある
522518
2012/11/19(月) 00:02:35.76 WPF・Silverlight・RTの公式ドキュメントで、一ヶ所でもMVVM必須と謳っている箇所があるだろうか?
また国内だとGrapeCity・Infragistics等のベンダーがXAML系コンポーネントを販売している
これらベンダーのマニュアルにも、MVVMを必須・提唱しているドキュメントは全く見当たらない
また国内だとGrapeCity・Infragistics等のベンダーがXAML系コンポーネントを販売している
これらベンダーのマニュアルにも、MVVMを必須・提唱しているドキュメントは全く見当たらない
523デフォルトの名無しさん
2012/11/19(月) 00:07:49.16 MがちゃんとしててVMはぺらっぺらになるのがMVVMの設計としては理想だからな
Web MVCではいくらぺらっぺらでもC無しというわけにはいかないが
VMがぺらっぺらになっていき、ついに無くなるのは別に問題ない
微妙に矛盾したパターンだよ
Web MVCではいくらぺらっぺらでもC無しというわけにはいかないが
VMがぺらっぺらになっていき、ついに無くなるのは別に問題ない
微妙に矛盾したパターンだよ
524デフォルトの名無しさん
2012/11/19(月) 00:07:57.56 そりゃ必須なわけがない
MSDNマガジンやChannel9とかで適度に触れられている程度だな
あと「推奨していない」だと非推奨と主張しているように聞こえるから注意だ
「触れていない」あたりでいい
MSDNマガジンやChannel9とかで適度に触れられている程度だな
あと「推奨していない」だと非推奨と主張しているように聞こえるから注意だ
「触れていない」あたりでいい
525518
2012/11/19(月) 00:08:10.96 勘違いしてはいけないのは、パターンはあくまでパターンであり、絶対の解法ではないことだ
逆にパターンに振り回されてその本質を見失えば、返って障害が発生する場合もある
MVVMを使わずに開発できるのならそれでよし
逆にパターンに振り回されてその本質を見失えば、返って障害が発生する場合もある
MVVMを使わずに開発できるのならそれでよし
526デフォルトの名無しさん
2012/11/19(月) 00:09:31.95 VMとテスト
527デフォルトの名無しさん
2012/11/19(月) 00:11:53.87 >>526
MがちゃんとしててMのテストだけで済むならそれに越したことはない
MがちゃんとしててMのテストだけで済むならそれに越したことはない
528デフォルトの名無しさん
2012/11/19(月) 00:12:18.51 >>524
どうかな?
「MVVMが必須」という誤ったイメージが蔓延し過ぎて参入障壁が上がり過ぎると
Microsoftや周辺ベンダーしては返って喜ばしくない事態になると思う
・・・いやすでになっているな
「触れていない」というより、いまとなっては「触れたくない」が正解だと思う
どうかな?
「MVVMが必須」という誤ったイメージが蔓延し過ぎて参入障壁が上がり過ぎると
Microsoftや周辺ベンダーしては返って喜ばしくない事態になると思う
・・・いやすでになっているな
「触れていない」というより、いまとなっては「触れたくない」が正解だと思う
529518
2012/11/19(月) 00:15:52.43 かくいう私はどうかといえばMVVMは割と好きなパターンであるし、
実際これでかなり問題を解決できているのも事実だ
しかし、使えない、理解できない、開発速度が極端に落ちて苦痛に感じるくらいなら、
そこまで無理に使う必要もないと思う
実際これでかなり問題を解決できているのも事実だ
しかし、使えない、理解できない、開発速度が極端に落ちて苦痛に感じるくらいなら、
そこまで無理に使う必要もないと思う
530デフォルトの名無しさん
2012/11/19(月) 00:28:44.37 VMがわかりにくいのって、CとかPとかと違ってVMにはこれといって
Mとの間に役割の違いが無いことだよ
特定のVとバインドすることを意識して作ったMってだけだからな
Mとの間に役割の違いが無いことだよ
特定のVとバインドすることを意識して作ったMってだけだからな
531デフォルトの名無しさん
2012/11/19(月) 00:53:44.94 なにいってんだ?
ビューの状態を表すモデルデータという
役割があるだろ。
ビューの状態を表すモデルデータという
役割があるだろ。
532デフォルトの名無しさん
2012/11/19(月) 00:58:48.11 別に選択状態持つためのMを設けてもいいんだぜ?
533デフォルトの名無しさん
2012/11/19(月) 01:02:55.31 それはもはやMではない。
Mの役割としては、GUIアプリではなく
CUIアプリからでも普通に使えるようなものを
目指すべきだ。
そんなGUIに依存した機能を持たせるべきじゃない。
Mの役割としては、GUIアプリではなく
CUIアプリからでも普通に使えるようなものを
目指すべきだ。
そんなGUIに依存した機能を持たせるべきじゃない。
534デフォルトの名無しさん
2012/11/19(月) 01:04:56.93 その選択状態がGUIとしてあらわす際に必要となる選択状態なのか、
そのプログラムの動作自体を構成するにおいて存在する必然性のある選択状態なのかによるね
そのプログラムの動作自体を構成するにおいて存在する必然性のある選択状態なのかによるね
535デフォルトの名無しさん
2012/11/19(月) 01:19:56.04 画面ごとのVMはいいけど、モデルごとのVMはめんどい
536デフォルトの名無しさん
2012/11/19(月) 10:20:32.56 >>532
GUIの選択状態を維持するためのモデルをViewModelという
GUIの選択状態を維持するためのモデルをViewModelという
537デフォルトの名無しさん
2012/11/19(月) 22:03:23.29 グリッドのボタン付けるときとかの
行ごとにVM作る派と作らない派の比率が知りたい
行ごとにVM作る派と作らない派の比率が知りたい
538デフォルトの名無しさん
2012/11/19(月) 22:15:46.48 行って何の話だよ
539デフォルトの名無しさん
2012/11/19(月) 22:20:34.86 WPFでデータグリッド使ったら負けだろ
それならWinForms使うわ
WPFならテンプレートで作れ
それならWinForms使うわ
WPFならテンプレートで作れ
540デフォルトの名無しさん
2012/11/19(月) 22:29:30.62 普通コンボボックスの項目毎VM作るだろ
541デフォルトの名無しさん
2012/11/19(月) 23:23:02.89 グリッドって何かと思ったらDataGridのほうか
542デフォルトの名無しさん
2012/11/20(火) 13:30:22.35543デフォルトの名無しさん
2012/11/20(火) 13:54:25.91 HeaderedItemsControlとかをこねくり回すのは常套手段なのか
544デフォルトの名無しさん
2012/11/28(水) 11:11:37.09 考え増やしたいから、
MVVM の各レイヤーの具体的な責務を教えてください
以下、テンプレ
M:
V:
VM:
MVVM の各レイヤーの具体的な責務を教えてください
以下、テンプレ
M:
V:
VM:
545デフォルトの名無しさん
2012/11/28(水) 11:22:45.65 >>544
> M:
ビューに関係無いデータ構造など変更部分。いわゆるモデル。UIスレッドと分離されてる事が望ましい。
> V:
ビューの見た目。極力もらったデータを表示したりインプットを上にあげるだけで何もしない。
> VM:
その両者を繋ぐもの。そのビューに関係するコーディネーター。ユニットテストできること。スレッド間の調整をここで吸収。
> M:
ビューに関係無いデータ構造など変更部分。いわゆるモデル。UIスレッドと分離されてる事が望ましい。
> V:
ビューの見た目。極力もらったデータを表示したりインプットを上にあげるだけで何もしない。
> VM:
その両者を繋ぐもの。そのビューに関係するコーディネーター。ユニットテストできること。スレッド間の調整をここで吸収。
546デフォルトの名無しさん
2012/11/28(水) 11:22:46.45 Set-Location : ドライブが見つかりません。名前 'M' のドライブが存在しません。
547デフォルトの名無しさん
2012/11/28(水) 11:34:44.90 一番ありそうな間違いは、WebMVCの典型的な間違った使い方のように
M: データ
VM: ロジック
としてしまうことだな
注文画面のMは注文処理クラス。VMはあくまでインターフェイスの差を吸収するだけ。
M: データ
VM: ロジック
としてしまうことだな
注文画面のMは注文処理クラス。VMはあくまでインターフェイスの差を吸収するだけ。
549デフォルトの名無しさん
2012/11/28(水) 12:47:28.47 使う側ならそれでいい
550デフォルトの名無しさん
2012/11/28(水) 14:02:32.93 Mのビジネスロジックがバックエンドに移って
結果的にMがデータだけになることはあるだろうけど
VMから見たら特に関係ない話。VMにビジネスロジックを書いてるわけじゃない。
結果的にMがデータだけになることはあるだろうけど
VMから見たら特に関係ない話。VMにビジネスロジックを書いてるわけじゃない。
551デフォルトの名無しさん
2012/11/28(水) 21:50:02.31 プレゼンテーションに関わるものとしてVMに置いとくべきデータやロジックがあるって意見も耳にするけど
自分には区別が難しいので極力Mに持たせるわ。
自分には区別が難しいので極力Mに持たせるわ。
552544
2012/11/28(水) 22:50:19.03 永続化しないデータとか?
553デフォルトの名無しさん
2012/11/28(水) 23:14:06.28 MVVM界隈の話はVMが強調されすぎるきらいがあるよな。
本当はMの方が遥かに重要なのに。どちかか省くなら迷わずM。
VMはMVVMパターンのアイデンティティだから仕方がないけど。
本当はMの方が遥かに重要なのに。どちかか省くなら迷わずM。
VMはMVVMパターンのアイデンティティだから仕方がないけど。
554553
2012/11/28(水) 23:14:52.00 間違えた省くならVM
555デフォルトの名無しさん
2012/11/29(木) 00:02:45.23 プレゼンテーションにかかわるものはVに書くんじゃないのか
556デフォルトの名無しさん
2012/11/30(金) 06:22:26.73 VMは、抽象的な、表示する「ための」データだな
例えば、VでItemsSourceにバインドして表示する一連のデータのコレクションとか
特定のデータを、手段は特定しないからとにかく強調表示しろ、ということを示すプロパティとか
Vは、具体的な、表示「の仕方」だな
同じVMからでも、同じコレクションを表示させる方法はListBoxだったりDataGridだったり単なるテキストだったり
どんな形で表示するのかはVが決めることでVMは手を出せない
また、強調表示の仕方にしても、単なる色変化だったり太字だったり、その部分だけ無意味にアニメーションさせたり
表示の仕方もVに任せられててVMは手を出せない
例えば、VでItemsSourceにバインドして表示する一連のデータのコレクションとか
特定のデータを、手段は特定しないからとにかく強調表示しろ、ということを示すプロパティとか
Vは、具体的な、表示「の仕方」だな
同じVMからでも、同じコレクションを表示させる方法はListBoxだったりDataGridだったり単なるテキストだったり
どんな形で表示するのかはVが決めることでVMは手を出せない
また、強調表示の仕方にしても、単なる色変化だったり太字だったり、その部分だけ無意味にアニメーションさせたり
表示の仕方もVに任せられててVMは手を出せない
557デフォルトの名無しさん
2012/12/11(火) 16:23:56.96 VBでペタポトプログラミングしか経験ない奴にパターン教えても一向に概念理解してくれない
ましてMVVMなんか到底無理無理
ましてMVVMなんか到底無理無理
558デフォルトの名無しさん
2012/12/11(火) 18:18:42.11 そんな動けばいいという考えの奴に何をいってもダメだ。
平気でModel部分にフォームやコントロール(UI)のインスタンスを食わそうとしたりするからな。
平気でModel部分にフォームやコントロール(UI)のインスタンスを食わそうとしたりするからな。
559デフォルトの名無しさん
2013/01/16(水) 20:12:33.47 MVVMって従来のASP.NETやWindowsフォームに慣れた人に説明するなら、
V Aspxファイル/フォーム
VM コードビハインドのcs
M 業務ロジック
と対応してて、従来のASP.NETやWindowsフォームとの大きな違いは、
ViewとViewModelがバインディングを介すると言う制約があるので分離しやすい、
と言う理解なんだけど大体合ってるかな?
V Aspxファイル/フォーム
VM コードビハインドのcs
M 業務ロジック
と対応してて、従来のASP.NETやWindowsフォームとの大きな違いは、
ViewとViewModelがバインディングを介すると言う制約があるので分離しやすい、
と言う理解なんだけど大体合ってるかな?
560デフォルトの名無しさん
2013/01/16(水) 22:46:55.45 全然
561デフォルトの名無しさん
2013/01/17(木) 23:06:47.49 大体合ってるみたいですね。
VB6脳なPGとJava/Struts脳なPG、どっちがMVVM覚えるのに向いてますかね?
VB6脳なPGとJava/Struts脳なPG、どっちがMVVM覚えるのに向いてますかね?
562デフォルトの名無しさん
2013/01/18(金) 08:37:02.03 >>561
全然違うと言われてんだろ
概念がそもそも違うがそれが分からない人間でも
・コードビハインドは画面と同一クラスだがVMは別クラス
・コードビハインドとViewは一対一だが、View:VMは1:n
・VSでコントロールをダブルクリックしてもコマンドが作られて自動的にバインドされたりしない
・そもそもコードビハインドはコードビハインドで存在するだろ
と、上げ出したらきりが無い
MVVM使うならちゃんとMVVMの概論くらいは理解させないとあとで自分が地獄行きだぞ
全然違うと言われてんだろ
概念がそもそも違うがそれが分からない人間でも
・コードビハインドは画面と同一クラスだがVMは別クラス
・コードビハインドとViewは一対一だが、View:VMは1:n
・VSでコントロールをダブルクリックしてもコマンドが作られて自動的にバインドされたりしない
・そもそもコードビハインドはコードビハインドで存在するだろ
と、上げ出したらきりが無い
MVVM使うならちゃんとMVVMの概論くらいは理解させないとあとで自分が地獄行きだぞ
563デフォルトの名無しさん
2013/01/18(金) 09:03:18.93 的外れな回答()キター
564デフォルトの名無しさん
2013/01/18(金) 14:28:02.15 いまだにVB6脳なんて他のこと何も向いてないだろ
565デフォルトの名無しさん
2013/01/18(金) 14:46:29.63 違うって言われてるのに合ってると受け取っちゃうのはどこにも向いてないな。
566デフォルトの名無しさん
2013/01/18(金) 17:07:06.64 全然合ってるかもしれない
567デフォルトの名無しさん
2013/01/20(日) 07:38:18.01 559は大体あってるよね?
というより562が間違いすぎw
・コードビハインド(各種イベントで呼び出される関数)は
手動で設定すれば Viewとは別のクラスにすることは可能だし
・V:VM は 一つのデータを別表現で表示することがあるので V:VM = n:1
・デザイナでダブルクリックしても自動で出来ない
→細かい処理を行いたければデザイナに任せずに手動で操作するのは当たり前。
・そもそもコードビハインドはコードビハインドで存在するだろ
→別にイベントで関数呼び出しても、
CommandやActionのバインディングで関数呼び出してもよくね?
というより562が間違いすぎw
・コードビハインド(各種イベントで呼び出される関数)は
手動で設定すれば Viewとは別のクラスにすることは可能だし
・V:VM は 一つのデータを別表現で表示することがあるので V:VM = n:1
・デザイナでダブルクリックしても自動で出来ない
→細かい処理を行いたければデザイナに任せずに手動で操作するのは当たり前。
・そもそもコードビハインドはコードビハインドで存在するだろ
→別にイベントで関数呼び出しても、
CommandやActionのバインディングで関数呼び出してもよくね?
568デフォルトの名無しさん
2013/01/20(日) 07:50:01.85 そういえば、データバインディングって
ほんの少し MFCのValue変数とDDX_〜 に似てないか?
ほんの少し MFCのValue変数とDDX_〜 に似てないか?
569デフォルトの名無しさん
2013/01/20(日) 09:40:48.58 >>568
ほんの少しな( ´Д`)y━・~~
ほんの少しな( ´Д`)y━・~~
570デフォルトの名無しさん
2013/01/22(火) 07:57:45.76 @Grabacr07 いままでのオレオレICommandの正しい実装基底クラス
Prismのパクリなのになんでこんなに偉そうなの?
Prismのパクリなのになんでこんなに偉そうなの?
571デフォルトの名無しさん
2013/01/22(火) 19:39:17.12 心底どうでもいい
572デフォルトの名無しさん
2013/01/22(火) 21:17:29.87 MVVMライブラリはすべてPrismのパクリだからな
いまさらだろ
いまさらだろ
573デフォルトの名無しさん
2013/01/25(金) 10:23:59.51 別に偉そうじゃない件について
どれだけコンプレックス感じてんだよw ダッセーやつw ぷげら
どれだけコンプレックス感じてんだよw ダッセーやつw ぷげら
574デフォルトの名無しさん
2013/01/25(金) 23:38:53.69 実際やってみたらMVVMではなくWPFやSilverlight固有の部分でかなり躓いた
初見でXAMLを自由自在に扱える奴とかいるのか?
初見でXAMLを自由自在に扱える奴とかいるのか?
575デフォルトの名無しさん
2013/01/25(金) 23:46:59.77 固有の約束事を理解しないといけないのはWinFormsだってASP.NETだって
PHPとかのWebフレームワークだって一緒だ
PHPとかのWebフレームワークだって一緒だ
576デフォルトの名無しさん
2013/01/26(土) 00:00:26.99 パネル使ったレイアウトに慣れてないだけじゃね?
577デフォルトの名無しさん
2013/01/26(土) 00:07:18.85 >>574
ちなみに躓いたのどこら編?
ちなみに躓いたのどこら編?
578デフォルトの名無しさん
2013/01/26(土) 00:11:58.51 ControlTemplateとか初見でMSDNだけで使いこなせたら神だわ
579デフォルトの名無しさん
2013/01/28(月) 10:43:39.37 Templateカスタマイズする時点で折れるな
580デフォルトの名無しさん
2013/01/29(火) 02:16:53.83 >>573
別にウガヤが考えたロジックじゃあないのに
まるで自分で考案したような口ぶりが臭いだけじゃろ。
特にcommandのweakeventなんてprismのアイデアそのまんまだし。
++c++やneueと違って.NETやC#(言語)の知識は薄っぺらいのに
ビックマウスだから余計に臭い。
別にウガヤが考えたロジックじゃあないのに
まるで自分で考案したような口ぶりが臭いだけじゃろ。
特にcommandのweakeventなんてprismのアイデアそのまんまだし。
++c++やneueと違って.NETやC#(言語)の知識は薄っぺらいのに
ビックマウスだから余計に臭い。
581デフォルトの名無しさん
2013/01/29(火) 05:30:37.24 >>580
詳しくは知らんが咀嚼して自分のライブラリとしてまとめ上げて、それを採用してくれてるとこもあるんだから、口だけ番長のお前より遥かにまし。
リアルでフルボッコにされたの?悔しいのぅ悔しいのぅ。
詳しくは知らんが咀嚼して自分のライブラリとしてまとめ上げて、それを採用してくれてるとこもあるんだから、口だけ番長のお前より遥かにまし。
リアルでフルボッコにされたの?悔しいのぅ悔しいのぅ。
582デフォルトの名無しさん
2013/01/29(火) 07:57:35.12 奴が自分で考案したみたいなことを言っているのは見たことないが
どの辺で言ってたのか気になるな
どの辺で言ってたのか気になるな
583デフォルトの名無しさん
2013/01/29(火) 08:22:09.37 別に好きでも嫌いでもないが、世の中のMVVMフレームワークは全てLivetより下と言ってるように取れる文書ならみた
MVVMが普及しないのは既存のインフラが不十分なせいで、Livetがそれを解決するんだとか
確かアンチMVVMに反論する記事だったかと思う
MVVMが普及しないのは既存のインフラが不十分なせいで、Livetがそれを解決するんだとか
確かアンチMVVMに反論する記事だったかと思う
584デフォルトの名無しさん
2013/01/29(火) 08:34:30.68 現場でMVVMゴリ押しして使ったら大失敗したからアホにも使えるように作ったんだっけ?
部下も可哀想だな
部下も可哀想だな
585デフォルトの名無しさん
2013/01/29(火) 08:50:43.67 まあ既存のが不十分なのはあってるな
ただLivetが必要十分かと言うとそうでもない
ただLivetが必要十分かと言うとそうでもない
586デフォルトの名無しさん
2013/01/29(火) 09:18:58.54 Javascriptエンジン組み込んでknockout.jsを逆移植するのがいいと思う
ビューに振る舞いを書けた方がいいのは、それを最初否定してたMVVM自身によって証明されたし
VMも静的言語で書くのは面倒な単純作業すぎる
ビューに振る舞いを書けた方がいいのは、それを最初否定してたMVVM自身によって証明されたし
VMも静的言語で書くのは面倒な単純作業すぎる
587デフォルトの名無しさん
2013/01/29(火) 09:31:08.32 ReactiveExtensions絡めて作ってるがすこぶる楽だし見通し良くなってイイよ。
まぁ向き不向き有るかもしれんが。まだ試しで作ってるだけなので後でいろいろはまるのかもしれんけど。
内部の状態遷移など含めて綺麗に落とし込みたいんだけどまだそこまで出来とらん。
まぁ向き不向き有るかもしれんが。まだ試しで作ってるだけなので後でいろいろはまるのかもしれんけど。
内部の状態遷移など含めて綺麗に落とし込みたいんだけどまだそこまで出来とらん。
588デフォルトの名無しさん
2013/01/29(火) 10:26:40.09 MVVMとリアクティブプログラミングの相性は非常にいいね。
ただ、ReactiveExtensionsは記述が冗長になるので
人にはお勧めできないな。
async,awaitみたいにコンパイラ支援があればいいんだけど。
ただ、ReactiveExtensionsは記述が冗長になるので
人にはお勧めできないな。
async,awaitみたいにコンパイラ支援があればいいんだけど。
589デフォルトの名無しさん
2013/01/29(火) 10:36:58.35590デフォルトの名無しさん
2013/01/29(火) 12:29:20.69 MVVMって何ですか?
591デフォルトの名無しさん
2013/01/29(火) 12:40:25.22 wwwwみたいなAAの一種
592デフォルトの名無しさん
2013/01/29(火) 12:51:58.26 >>588
俺は非同期についてはasync,awaitを使ってるから気にしてなくて、
リアクティブプログラミング本来の "関係性を記述する" って部分で冗長性が気になる。
例えば、
int A { get { return B ? C : D.E; } }
って単純な関係性を記述するだけでも、それなりの量になる。
> F#だとその辺を自分でクエリ構文を定義してよしなに出来なくもないけど。
F#の計算式は羨ましいね。
async, awaitがTask<T>を生成するのと同じように、
計算式で ReactiveProperty<T> を生成すると非常にすっきり書ける。
俺は非同期についてはasync,awaitを使ってるから気にしてなくて、
リアクティブプログラミング本来の "関係性を記述する" って部分で冗長性が気になる。
例えば、
int A { get { return B ? C : D.E; } }
って単純な関係性を記述するだけでも、それなりの量になる。
> F#だとその辺を自分でクエリ構文を定義してよしなに出来なくもないけど。
F#の計算式は羨ましいね。
async, awaitがTask<T>を生成するのと同じように、
計算式で ReactiveProperty<T> を生成すると非常にすっきり書ける。
593デフォルトの名無しさん
2013/01/29(火) 13:51:35.91 >>592
> int A { get { return B ? C : D.E; } }
> って単純な関係性を記述するだけでも、それなりの量になる。
自分もまだそこまで突っ込んで触ってないのでなんだが、自分で用途に合わせた複数要素を取れるZipみたいな物とか作らないと記述が冗長になりそうな気はしてる。
Zip重ねてとかでもいいけど見た目的にも身微妙な気がしなくもない。
> 計算式で ReactiveProperty<T> を生成すると非常にすっきり書ける。
その辺でSelectManyとかSwitchで上手く合成出来ると綺麗に書けるんかね( ´Д`)y━・~~
> int A { get { return B ? C : D.E; } }
> って単純な関係性を記述するだけでも、それなりの量になる。
自分もまだそこまで突っ込んで触ってないのでなんだが、自分で用途に合わせた複数要素を取れるZipみたいな物とか作らないと記述が冗長になりそうな気はしてる。
Zip重ねてとかでもいいけど見た目的にも身微妙な気がしなくもない。
> 計算式で ReactiveProperty<T> を生成すると非常にすっきり書ける。
その辺でSelectManyとかSwitchで上手く合成出来ると綺麗に書けるんかね( ´Д`)y━・~~
594デフォルトの名無しさん
2013/01/29(火) 15:41:47.19 F#で計算式を使うと言っても、do!やlet!でやるのは
ReactiveProperty<T>からをT型の値を取得すると同時に値の監視を開始するだけだから
C#でも似たようなことはできるけどね。
上の int A { get { return B ? C : D.E; } } の関係性なら
ReactiveProperty<int> A
{
get { return ReactiveProperty.Create(x => x(B) ? x(C) : x(x(D).E)); }
}
と書けるReactiveProperty.Createは実装可能。
逆に言えばF#でも同程度の記述の冗長性は残るという事になる。
ReactiveProperty<T>からをT型の値を取得すると同時に値の監視を開始するだけだから
C#でも似たようなことはできるけどね。
上の int A { get { return B ? C : D.E; } } の関係性なら
ReactiveProperty<int> A
{
get { return ReactiveProperty.Create(x => x(B) ? x(C) : x(x(D).E)); }
}
と書けるReactiveProperty.Createは実装可能。
逆に言えばF#でも同程度の記述の冗長性は残るという事になる。
595デフォルトの名無しさん
2013/01/29(火) 16:11:47.74 >>594
自分が言ってるのはQueryExpressionsの方。
使ってる例としてはこんな感じ。
http://mnajder.blogspot.jp/2011/09/when-reactive-framework-meets-f-30.html
これはクエリ式への直接変換的な感じだけど、望みのクエリ式を追加できるので独自のDSL的に定義できる。
自分が言ってるのはQueryExpressionsの方。
使ってる例としてはこんな感じ。
http://mnajder.blogspot.jp/2011/09/when-reactive-framework-meets-f-30.html
これはクエリ式への直接変換的な感じだけど、望みのクエリ式を追加できるので独自のDSL的に定義できる。
596デフォルトの名無しさん
2013/01/30(水) 18:31:22.62 従来型のほうがいいだろ
誰かさんにプレゼント
優れた言語より流行ってる言語
優れたフレームワークより使われてるフレームワーク
誰かさんにプレゼント
優れた言語より流行ってる言語
優れたフレームワークより使われてるフレームワーク
597デフォルトの名無しさん
2013/01/30(水) 18:52:28.14 アプリケーションで、各種バー表示のon/offや配置等の、GUIに関する設定がよくあると思いますが
そういう設定の保存・読み込みロジックはVMでいいんですよね?
MVVMの概念がまだあやふやで確信が持てません。
そういう設定の保存・読み込みロジックはVMでいいんですよね?
MVVMの概念がまだあやふやで確信が持てません。
598デフォルトの名無しさん
2013/01/30(水) 18:55:35.45 一番使われてるフレームワークが一番、ってのなら、
一番のラーメンはインスタントラーメンだぜ?
一番のラーメンはインスタントラーメンだぜ?
599デフォルトの名無しさん
2013/01/30(水) 19:04:13.88 Haskell大流行だもんな
600デフォルトの名無しさん
2013/01/30(水) 19:13:05.88601デフォルトの名無しさん
2013/01/30(水) 20:13:22.03 COBOL最高だろうが
602デフォルトの名無しさん
2013/01/30(水) 20:49:05.37■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★2 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★7 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【朗報】愛国保守党の公約、ガチでアリだと話題にwwwwwwwwww
- 【朗報】南鳥島のレアアース、中国産の「20倍の純度」青山繁晴氏「日本は資源大国」日本復活のファンファーレが鳴り響く! [673057929]
- 愛国者「釘を使わない日本独自の伝統工法スゴイ!」X民「それ中国起源ですよ」→批判殺到 [834922174]
- ハイドロポンプ←これなんて略してる?
- 👊😅👊三☁😶‍🌫三⛅🏡
- コーヒー、来年3月から30パーセント値上げへ [709039863]
