【特集】

TigerのCocoaにみるMVCの完成 - スマートなデータモデルを実現するCore Data

1 CocoaのMVCモデルの発展

 
  • <<
  • <

1/14

現在の多くのデスクトップアプリケーションのためのフレームワークは、その多くが、デザイン原理としてモデル・ビュー・コントローラ(MVC)アーキテクチャを取り入れている。これは、アプリケーションに必要とされるモジュールを、データを表すモデル、ユーザへの表示を行うビュー、これらをコントロールするコントローラ、の3層に分割して設計しよう、というものだ。

今回紹介するのは、Apple ComputerのMac OS Xにおけるアプリケーションフレームワークである「Cocoa」のMVCアーキテクチャだ。Mac OS Xのバージョンアップに伴い、Cocoaにも2度、重要なアップデートがあった。まずはこの変遷を追いかけてみたい。

Cocoa BindingとCore Dataの導入

Cocoaは、その由来となるNEXTSTEPのころから、MVCをベースに設計されていた。MVCの3つのレイヤのうち、ビューに関しては始めからかなりリッチなサポートがあったが、ビューに比べるとコントローラとモデルに関してはプログラマへの負担が大きかった。

こういった問題を解決するために、AppleはCocoaへの改良・機能追加を続けている。まず、Mac OS X 10.3ではコントローラレイヤの追加が行われた。「Cocoa Binding」の導入である。これにより、ビューとモデルを同期するための、コントローラレイヤが利用できる。

さらに、Mac OS X 10.4ではモデルレイヤの強化を行う。Core Dataの登場だ。Core Dataの目的を一言で言うと、データモデリングやクエリーといった、データベースの概念をデスクトップアプリケーションに取り込むことである。具体的には、データモデルの設計、オブジェクトの永続性、オブジェクトコンテキストの管理、などのサポートが加わる。

これらをアプリケーションの機能に置き換えると、書類フォーマットのデザイン、GUIによる書類の編集、GUIの表示の更新、アンドゥとリドゥのサポート、書類の保存/読み込み、などに該当する。これらの機能を、ほとんどコーディングせずに利用できるのだ。これをもって、デスクトップアプリケーション用のフレームワークとして、Cocoaは一つの完成を見た、といっていいだろう。

この記事では、これらの機能が協調動作する、新しいCocoaアプリケーションの全体像を紹介しよう。最後まで読めば、「デスクトップアプリケーションのためのフレームワークの完成形の一つ」を目にすることになるだろう。

  • <<
  • <

1/14

インデックス

目次
(1) CocoaのMVCモデルの発展
(2) チュートリアル - Cocoa BindingとCore DataによるGUI作成
(3) メールソフトを作成
(4) キー値コーディング
(5) キー値の監視
(6) コントローラレイヤ - Cocoa Binding
(7) NSObjectControllerとCocoa Bindingの構造
(8) Interface Builderとの統合
(9) モデルレイヤ - Core Data
(10) モデリング
(11) 管理対象オブジェクトのライフタイム
(12) 各レイヤの協調動作
(13) MVCの協調動作
(14) なぜ「完成」なのか

もっと見る



IT製品 "比較/検討" 情報

転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

オリンパス、「OM-D E-M5 Mark II」に「12-40mm F2.8 PRO」のレンズキット
[12:40 6/29] 家電
ベライゾン、「2016年データ漏洩/侵害調査報告書」の日本語要約版
[12:26 6/29] 企業IT
ネットショッピングで最も使うデバイスは「スマホ」 - MMD調べ
[12:14 6/29] 企業IT
NXPがトップに躍進、ルネサスは3位に - 2015年の車載半導体企業ランキング
[12:12 6/29] テクノロジー
【連載】腰野4姉弟の奇妙な日常 第6回 腰痛を選ぶべきか正座のしびれを選ぶべきか、それが問題だ
[12:06 6/29] ヘルスケア

求人情報