設計とか役割とか責任とか

まがりなりにもほぼ4年アプリケーションを作っていて、私はアプリケーション設計についてとてつもない勘違いをしていたのかもしれない

ありがたいことに、コーディングについて私がわかるまで根気強く説明してくれる先輩がいる
彼はあの手この手で説明してくれる
よくやるやり方は現実世界の物事を例にした説明

まずここでもう私には考えられない
どうして設計についてのあれこれを現実世界で例えることができるのか
しかし説明をひとつひとつ聞いていくと「そうだね」と納得してしまう
最終的には気づいたら私がわからなかったことについてさえ「うん」と言わされてしまっている
私にとってはなんだか洗脳されているような感覚でその考え方を使いこなせる気がしない

と思っていたのが今朝までの話

そして今、上野学さんのModeless and Modal の中で、ソフトウェアは道具だと言っていたことを思い出す

人間がこれまで行ってきた仕事や手続きやタスクを自動化したもの
そう考えると現実世界を例にとるのは納得がいった

だったら、現実世界でも設計はされてるはずだと思った
例えば、部屋の間取り
キッチン、リビング、ダイニング、ベッドルーム…部屋に名前をつけて生活している

キッチンは料理をするところ
リビングはくつろぐところ
ダイニングは食べるところ
ベッドルームは寝るところ

部屋ごとにそれぞれの機能と役割がある

キッチンにベッドは置かないし、リビングにガスコンロはない
→役割に必要な道具だけを揃える

設計とはつまりそういうことだ
合ってるかどうかはしらんけど

いいなと思ったら応援しよう!