mvcに関するmaangieのブックマーク (5)
-
理解しやすいように適当に遮ったり、言い切ってしまったところもあるがご容赦いただきたい。 MVCの登場 MVCは、SmalltalkのGUIライブラリのモデルとして登場した。 これはGUIアプリケーションを記述する際に、適切なモデル化を進めるのにとてもいい考え方だと思われていたし、実際にそうだった。 これはアーキテクチャパターンとして、それぞれがどのように依存するべきか、どこにコードを書くべきかということを端的に表している。 安定依存の原則というものがある。これは、要件が安定しているモジュールに依存し、要件が変動しやすいモジュールには依存しないようにするという原則だ。MVCアーキテクチャでは、GUIアプリケーションの安定関係をModel > View > Controllerの順でとらえている。データ処理や業務要件というのは安定しており、UIパーツもまた比較的安定している。それらを統合してア
-
昔、JavaのフレームワークであるStrutsも出てくる前、MVCモデルにおけるControllerの役割というのは、 ﹁ロジックもデータも見ない現場監督のような役割﹂ と学んだ。だから昔、ServletではMVCアーキテクチャを学んだ時に、こんなControllerを書いていた。 [とりあえずRequestオブジェクトを受け取る] | [validationロジックに引き渡す。データの中身は見ない] | [例外が発生したらエラーView処理クラスに引き渡す。何のエラーかは細かく知らない] | [次にロジック処理クラスに渡す。最終的にDBのテーブルとマッピングしたデータはJavaBeansというデータクラスが保持する] | [例外が発生したらエラーView処理クラスに引き渡す。何のエラーかは細かく知らない] | [Viewの生成オブジェクトにJavaBeansを渡す] | [Viewオブジ
-
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 ユーザー インターフェイス、ポッドキャスト、オブジェクト リレーショナル マッピング、その他 Scott Mitchell 共通するユーザー インターフェイスのグループをすばやく作成する 最近、私は大きな大学の印刷操作用の発注管理アプリケーションに取り組み始めました。近々行われる試験に向けた 100 部のコピーや、来学期の履修便覧の5万部ものコピーなど、毎日、何百人もの教授や管理者が印刷を発注します。このアプリケーションには、多くの基幹業務アプリケーションと同様、それぞれ多数のユーザー入力要素を備えた、さまざまなデータ入力画面が必要です。これらの画面の多くは、共通するユーザー インターフェイスのグループを
-
MVCのモデルはDBじゃなくてもいいんだよ id:charsbarさんが、先ほど書いたエントリに関して 後半その通りなわけですが、CatalystはModel::DBIC系のせいでMVCが誤解されてるのよねー と言っておられる。たしかにその通り。﹁モデルってDBでしょ?﹂みたいな印象が一般的にあると思う。 そういう印象を持ってる人に説明すると、﹁モデルを作る﹂って何かというと、DBのようなストレージにあるものをどうこうする、ではなくて﹁データに対する操作を抽象化したものを作る﹂ということです。例えば、ブログを作ると、Blog、BlogEntry、BlogUserみたいなモデルを作ります。そしてその操作方法はこんな感じ‥ # ブログを登録するみたいなAPI MyApp::Model::Blog->create({ user => $blog_user, title => $title, .
-
バグ見つけた→それってどんなテスト?もしくは、なんでMVCなんて使うの? 最近ソフトウェアエンジニアリングに置ける開発手法に関して考えている。 ぶっちゃけ言ってしまうと﹁やっぱりTDDっぽいのがいいな﹂というところに落ち着きつつあるのだが、厳密にTDDをしたほうがよい、と思ってるわけではない。TDDとかExtremeプログラミング、Agileプログラミングにしても理想はいいんだけど、原理主義っぽい使い方は現実にそぐわないと思ってるからだ。 前置きはこれくらいにしておいて・・・重要だと思うのは以下の点‥ 開発サイクルに自動テストツールを組み込むエンジニアによるバグ/不具合発見時には﹁動かない﹂は許可しない。必ず再現コードを提出してもらうテストを自動テストツールを組み込む︵=次回リリース前にはかならずテストを実行できる状態にする︶テストが通るまで修正を続けるという開発サイクルを取るべきだ、とい
-
1