Model View Control。オブジェクト指向プログラミング言語の元祖のひとつ「Smalltalk」にも使用されていたアプリケーション・アーキテクチャ。アプリケーションをModel(ロジック)、View(プレゼンテーション)、Controller(通信、制御)の3つの部分に分割して、それぞれを独立して開発していくというもの。
みなさまこんにちは、おさかなです。今回の記事では、ソフトウェアアーキテクチャのひとつであるMVVMモデルについて、その仕組みや考え方を、関連するMVCモデルも含めて紹介したいと思います。ソフトウェアアーキテクチャを意識することで、記述するコードが規則によって分けられることで格段に読みやすくなり、保守も容易になります。本記事では、これからソフトウェアアーキテクチャを学ぼうとしている方、興味がある方にとって理解の一助になれば幸いです。 ソフトウェアアーキテクチャとは MVCモデルとは? 注文データ(Model) 注文システム(View) 注文管理システム(Controller) MVVMモデルとは…
genieframework.github.io MVCアプリケーションを作る サーバの起動 まずはMVCとは ja.wikipedia.org Model: データベース操作などのビジネスロジック View: ユーザーインターフェースの表示 Controller: ユーザーの操作を受けとる REPLにて julia> using Genie julia> Genie.Generator.newapp_mvc("Watch Tonight") Please choose the DB backend you want to use: 1. SQLite 2. MySQL 3. PostgreS…
初めに アプリの構造を考えたときに、MVCかMVVMかどちらにするか悩むことがあると思います。私はこれまでJavaのSpringBootの業務アプリばかり作ってきましたので、MVCにはなじみがあり理解しているつもりですが、MVVMは実務で触ったことがなく、あまりなじめずにいました。 ただ、最近フロントエンド開発にも関わりだし、Reactを触る機会がありました。その中でなぜMVVMがよくわかっていなかったのかつかめたので、忘れないうちにまとめておこうと思います。同じようなことで悩まれている方の参考にあれば幸いです。 MVCとは MVCとは、Model/View/Controllerの3要素で成り…
こんにちは! スマレジ テックファームのMichiです! みなさんはFlaskというフレームワークをご存知でしょうか? FlaskはPython製のマイクロWebフレームワークで、MVTモデル(Model, View, Template)というアーキテクチャを採用しています。 ですが、「やっぱり使い慣れたMVCの枠組みで実装したい!」ということで、今回はFlaskを無理やりMVCっぽく運用する方法を解説します。 解説 ディレクトリ構成 基本設定 認証系 コンフィグ データベース Flaskインスタンスの作成 モデル ルーティング コントローラ まとめ 解説 アプリのサンプルはFlask公式ドキ…
こんにちは! スマレジの テックファーム(SES 部門)のWebエンジニア やまて(@r_yamate) と申します。 はじめに 前回の記事(④登録機能の作成)で、商品データを Products テーブルに登録する、登録機能を作成しました。 本連載の目次 本連載では以下の順序で進めています。 ① Docker での開発環境構築 ② Zend Framework のインストール ③ 一覧画面の作成 ④ 登録機能の作成 ⑤ 編集・削除機能の作成(今回) ⑥ バリデーションメッセージの日本語化 目次 はじめに 本連載の目次 目次 本記事完了時点のソースコード 商品管理ページの構成 1. 編集機能の作…
こんにちは! スマレジの テックファーム(SES 部門)のWebエンジニア やまて(@r_yamate) と申します。 はじめに 前回の記事(③一覧画面の作成)で、Webサービスのトップページとなる一覧画面を作成しました。 本連載の目次 本連載では以下の順序で進めています。 ① Docker での開発環境構築 ② Zend Framework のインストール ③ 一覧画面の作成 ④ 登録機能の作成(今回) ⑤ 編集・削除機能の作成 ⑥ バリデーションメッセージの日本語化 今回は、商品データを Products テーブルに登録する、登録機能を作成します。 目次 はじめに 本連載の目次 目次 本記…
こんにちは! スマレジの テックファーム(SES 部門)のWebエンジニア やまて(@r_yamate) と申します。 はじめに 前回の記事(②Zend Framework のインストール)で、Zend Framework の Welcome 画面を表示できました。 本連載の目次 本連載では以下の順序で進めています。 ① Docker での開発環境構築 ② Zend Framework のインストール ③ 一覧画面の作成(今回) ④ 登録機能の作成 ⑤ 編集・削除機能の作成 ⑥ バリデーションメッセージの日本語化 目次 はじめに 本連載の目次 目次 本記事完了時点のソースコード 商品管理ページ…
ER図は以下のツールを使いました。とても便利でした。無料です。 Flowchart Maker & Online Diagram Software 1対1のリレーション hasOne() イメージはこんな感じ Tweet_userモデルでTweet_contentを用意する public function Tweet_content() { return $this->hasOne('App\Tweet_content'); } このようにすることでプロパティにアクセスする感覚でリレーション先の値を得ることができる。 Tweet_content()と定義したが、以下のように()はいらない。 T…
モデルクラス内の入力必須プロパティを、局所的に無効化する方法です。
プログラミングを学ぶ上で 重要なフレームワークの1つである 「MVC」とは何かを プログラミング初心者の目線から 説明していきたいと思います。 MVCとはModel、View、Controllerを 略したものあり それぞれプログラムの設定を記載する フォーマットみたいなものです。 このMVCの設定をすることで Webアプリが動くのです。 では、それぞれにどのような 設定がされることによって、 僕たちが普段利用している Webアプリは動いているのでしょうか。 僕たちは普段、Webアプリケーションに触れるとき、 どのような情報を扱うでしょうか。 今まさに目にしているのは 文章という文字情報ですし…