『オブジェクト指向UIデザイン』
2020/6/5
1,2,6章を読みたい

はじめに
1章 オブジェクト指向UIとは何か
新規にアプリのUIを作るとき、まずはそのアプリでできるタスクから考えがち
どういうタスクがあるか?を洗い出す
2章 オブジェクト指向UIの設計プロセス
優れたデザイナはまず最初に尤もらしい具象を想起し、後からロジックを見出す
言っていることはわかるし、大事だと思う

しかし、これだけだと「経験だよ」だけになってしまう
この本、デザインだけでなくドメインモデリングなどの素養が求められる
しかもドメインモデルに対しては詳しい説明があまりない
例えば「エンティティ」の説明は1行しかない
デザイナが初見で読んでも難しそう?という印象を受けた

3章でちゃんと説明されていた

むしろエンジニアの方が納得感強く読めそう
改めて読んでみて、自分はタスク指向でもオブジェクト指向でもないUI設計をやってる気がした
どっちでもない、ということしかわかってない
どっちかと言うとオブジェクト指向寄りな気はするが
業務に関するUIを作る時に、それに伴うオブジェクト何ぞ存在しなくない?
例えば、ボタンをポチポチするとステータスが進んでいくものとか、
「ステータスというオブジェクトを..」という感じで捉えているわけではない
何か行いたいアクションや欲求がまず存在し、
それらをいかに、ノイズなく使えるか、というのを考えている気がする(?)
同じタイミングで使うものを一箇所にするだとか、
その操作をしたい時に欲しい情報を自然に添えるだとか、
要素を増やさない工夫をするだとか、
そういう細かい工夫の積み重ねという感じがする
UIを作る方針として、タスク指向/オブジェクト指向としてざっくり分ける事ができるのであれば、本書の主張は真っ当という感じがするが、
いかなる場合にも対応できるほど「オブジェクト指向」って万能ではなくないか
対タスク指向という軸があるなら、オブジェクト指向は評価できるとは思う
3 オブジェクト指向UI設計の実践
3-3 ステップ1. オブジェクトの抽出
UMLやDomain Modelingの経験があれば容易

割と具体的にステップが説明されている
とても新鮮かと言われるとそうでもない

4 ワークアウト:基礎編
進め方
レベル1 メモアプリケーション
ヒント・チャレンジ
解説
レベル2 社員名簿アプリケーション
ヒント・チャレンジ
解説
レベル3 イベント店舗管理アプリケーション
ヒント・チャレンジ
解説
レベル4 会議室予約アプリケーション
ヒント・チャレンジ
解説
レベル5 家族で遊べる場所を探すアプリケーション
ヒント・チャレンジ
解説
レベル6 商品管理アプリケーション
ヒント・チャレンジ
解説
レベル7 商品管理アプリケーション
ヒント・チャレンジ
解説
レベル8 商品管理アプリケーション
ヒント
解説
レベル9 商品管理アプリケーション
ヒント
解説
5 ワークアウト:応用編
進め方
レベル10 スマートフォン用の営業支援アプリケーション
ヒント
解説
レベル11 イベント管理アプリケーション
ヒント
解説
レベル12 保険契約の顧客管理アプリケーション
ヒント
解説
レベル13 アセット管理アプリケーション
ヒント
解説
レベル14 サイト管理アプリケーション
ヒント
解説
レベル15 出張申請・精算アプリケーション
ヒント
解説
レベル16 契約管理アプリケーション
ヒント
解説
レベル17 通貨換算アプリケーション
ヒント
解説
レベル18 販売実績照会アプリケーション
ヒント
解説
6 オブジェクト指向UIのフィロソフィー
型と値、クラスとインスタンスのような関係は、イデアと実体と同じ
オブジェクト指向は記述の順序にも現れている
手続き的プログラミングだと、 strtoupper('hello')
のように先に動詞が来る
一方、オブジェクト指向だと 'hello'.toUpperCase()
のようにまずオブジェクトが来る
これはちょっと面白い

Haskellでも関数を主人公にする考え方が部分適用などと上手く合致しているのに似てる気がする
この図よい
>
インタラクションがある
6-5 オブジェクト指向UIについての文献
おわりに
参考文献
索引
あとがき