DelFusa Blog 総本山

プログラミングの話題とかです。

NEW | PAGE-SELECT | NEXT

≫ EDIT

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

| スポンサー広告 | --:-- | comments(-) | trackbacks(-) | TOP↑

≫ EDIT

MVCの引力に魂をとらわれている人々


                 
    ∧∧       ドキューーーーーーン            
   ミ,, ゚Д⊆0___,,, ,..,_             
   ミ⊃二O,---' ̄ ̄~.''"               
   ミ   ミ                      
   .∪∪        
               

それにしても、MVCという概念から、人は逃れられんものなのかね。
MVCとは、地球の重力の呪縛と同じですか....


WPF使ってみると、ビュー側の言語がXAMLになっているので、ビューとモデルが
明確に区別されやすくなります。

XAMLは、Delphiで言うところのdfmなんですが
それを、拡張しまくって、イベントまで作成できたりアニメーションしたり出来る仕組みが備わったXML形式の言語。


だから、XAMLでビューを書いて、VBやC#で、ビジネスロジック的に動作を書きます。

明確に、Modelとビューを分離出来るので、GUIに依存しないビジネスロジックが記述できて、
とてもわかりやすいクラス構成によって、開発が進みます。


これ、建前。


本当の所は、

はあ......ため息でっぱなし。
実際に使いやすいわけ、ないじゃないかよ。

なんで、ビューとロジックで別言語をつかわなならないのかと、
小一時間、否、大50時間ほど説教してあげたい
めちゃくちゃ開発しにくいよ。


毎度毎度、大した事するわけじゃないのに、XAMLの学習のために、えらい時間がとられてしまう。

「XAMLでアニメーション」で検索してみてください。
かなりわけわからない記述が沢山でてくるでしょ。

これで、何か組まなきゃならないわけですぜ。
VB.NETは普通に書ける・読める人でも、XAMLは手こずると思います。

XAMLで手こずる=開発が滞るということよ。

日々、とても苦労します。


どういう苦労があるかというと、
有名掲示板で名前を伏せて、質問してみているのですが、


WPF XAMLのイベントでプロパティを即時に変更したい
DOBON.NETプログラミング道掲示板 [Search:29346]
http://dobon.net/cgi-bin/vbbbs/srch.cgi?no=0&word=29346&andor=and&logs=all&PAGE=20&ALL=1

こちらで質問している件とかを調べて自分でなんとかXAMLのイベントハンドラ記述を見つけられたわけですが、この内容を理解して自分で記載できるようになるまで、
この情報のぴったり一致するものが、いかに少ないか…

XAMLアニメーションとかで検索してみてくださいな。
ホントに情報がなくて、全くわからないから。

ちょっとした機能(マウスEnterでVisible=True)を実装するのに、その情報を得るために何時間も検索時間がかかる。泣けてきます。。



他にも、列挙型にあわせてメニュー選択を行いたい場合、
ビューと、モデルであるプログラムソースが完全別だから
確実にソースと、XAMLとで二元管理修正する必要があるがな。
結局の所、プログラムソース側で、メニューを動的に生成して配置するほうが現実的なのよ。


.NETのエバンゼリストとかって人たちは、この腐れっぷりに、何も感じないのだろうか…
MSの射撃に打たれるのが日常でうたれなれているのかしら。


せめて同じ言語でビューと、モデルとを、記述できるように考えてもらえないだろうか。
せめて・・・

いや、それ以上に、MVCを強制させるという概念自体が不要なものだということに、
気がついている人はいるんだろうか。

一つの物事を実現させるときに、モデルとビューとコントローラという、3分割して記載するという不毛な努力。

ヘルスバーグのイベントドリブン開発モデルは、MVCを意識せずに使えるようにしてくれたのになあ。
誰がねじ曲げちゃったのかなあ。

※少し追記
MVCは常に悪いとかではなくて、MVCも使いよう。
使わなくてもOKで複雑化してきたりGUIと独立していきたくなれば
そのように記述していけばいい。

それにしてもビューとモデルで別言語記述というのは
かなり設計に問題があって失敗。

XAMLなんかはプログラミング言語の体をなしていないのだから
ほんと、ご勘弁願いたい。

自分がXAMLを使わなければいい。ってだけじゃないんだよ。
自分一人ならそうするよ。
でも、他の人によってXAMLで既に書かれた部分を修正する為に
XAMLで書かなきゃならないんだよ....


スポンサーサイト

| 未分類 | 12:15 | comments:2 | trackbacks(-) | TOP↑

COMMENT

Webであっても
ブラウザインターフェイスのためにビューはHTMLを書くし
RDBインターフェイスのためにモデルはSQLを書くし
HTTPからのインターフェイスのためにシェル言語でコントローラを書くし。

つまり、インターフェイスの数だけ各々に特化した言語を使って書くのが
システムとして最も効率的。リリース後の運用は、システムが行うのであるから、システムに向けて最適化されているべき。
奴隷同然の人間は、多少なりともシステム様のために苦労をすべき。

HTML書かないビューは邪道。
SQL書かないモデルは邪道
環境変数を制御できないコントローラは邪道。

| | 2013/12/10 12:55 | URL |

誰?と聞くだけでは、ちょっと失礼かと思ったので、
もうちょっと書いておきます。


最近は、サーバーサイドからフロントエンドまで
すべてJS言語で開発しちゃう。って話もあるとか聞いたりします。

SQLを排除してきたC#やLINQ系のライブラリも増えているようですし

インターフェース毎に特化言語を使うのが
システムとして効率的というのが、何を指すのかわかりませんが

複数言語を組み合わせてシステムを作るという非効率さは
最近は、 多くの方は、さけたいのでしょうね。


AndoroidでもiOSでも、別言語ではなく
Delphiで統一的に組めた方がうれしいですし、

DataSnapを使えば、サーバーとクライアントが
メソッドでリンクするという大技も可能なので
パフォーマンスを上げるためにPL/SQLという別言語を導入して
Debugがやりにくいのにどうにか開発をする、
ということもしなくてよいわけです。

| Delフサ | 2013/12/11 00:12 | URL | ≫ EDIT















非公開コメント

PREV | PAGE-SELECT | NEXT

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。