Slide 1

Slide 1 text

脱★JSON色付け係 わたなべじん

Slide 2

Slide 2 text

とあるところに重要人物の言及がありました

Slide 3

Slide 3 text

品質向上で人物名の構造が変わりました

Slide 4

Slide 4 text

HTML上で文字列結合しようとするドライバー それは絶対だめだ!と叫ぶナビゲーター

Slide 5

Slide 5 text

フロントエンドのドメインについて 考え方がサーバーと混ざってしまってない?

Slide 6

Slide 6 text

脱★JSON色付け係

Slide 7

Slide 7 text

そもそもドメインとはなにか?

Slide 8

Slide 8 text

すべてのソフトウェアプログラムは、
 使用するユーザの何らかの活動や関心と関係がある。
 ユーザがプログラムを適用する対象領域が、
 ソフトウェアのドメインである。

Slide 9

Slide 9 text

フロントエンドにおける 「ユーザーの何らかの活動や関心」とはなんだろう

Slide 10

Slide 10 text

当時のコンピュータは、文字を動かすだけでも複雑なコマンドや「モード」の切り替えが必 須で、専門家にとっても手間のかかる「特殊な操作」でした。ラリー・テスラーはこの不便さ を解消し、現実世界のハサミと糊のように誰もが直感的に行える「当たり前の動作」として 編集作業を再定義しました。 彼がその成果を披露した際、歴史的な場面が訪れます。ラリーがいつものカット・アンド・ ペーストをやったとき、突然ピーター・ドゥイッチが立ち上がって、 スクリーンを指さして叫んだ。 「今やったのは、やったんじゃないかと俺が思ってることか?」 ドゥイッチが衝撃を受けたのは、かつては苦労した操作が「ユーザーがこうしたいと意図し た通り」に、一瞬で完了したその魔法のような簡潔さにあったのです。 『未来をつくった人々』の Chapter 15要約

Slide 11

Slide 11 text

フロントエンドのドメインはユーザーが 「した」と思ったことを、画面に「表す」こと

Slide 12

Slide 12 text

つまり「操作」と「表示」

Slide 13

Slide 13 text

サーバーサイドのドメインは ビジネス(業務)ロジック ビジネスロジックはフロントエンドには「ない」

Slide 14

Slide 14 text

フロントエンド開発中は ビジネスロジックという言葉は使われない サーバー感覚でやるとドメインを見失う

Slide 15

Slide 15 text

我々はJSON色付け係ではない

Slide 16

Slide 16 text

フロントエンド開発中は ビジネスロジックという言葉は使われない サーバー感覚でやるとドメインを見失う

Slide 17

Slide 17 text

HTML上で文字列結合しようとするドライバー

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Viewはユーザーに何を示すのかに注力する

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

ドメインオブジェクトはあくまで「このデータは今 『エラー状態』である」という業務上の判断(意味) だけを返し、それをどう装飾するかはViewが決め るので下はNG

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

フロントエンドの多くは「画面設計」に注力されがちだが 「ソフトウェア設計」も大切にしよう

Slide 24

Slide 24 text

参考文献 WEBフロントエンドにおけるソフトウェア設計の考察 現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法 
 エリック・エヴァンスのドメイン駆動設計
 未来をつくった人々: ゼロックス・パロアルト研究所とコンピュータエイジの黎明