定義: 取得inboxモデル
情報・モノが取得される流れのモデルの1つ。
源から経路を通り受信箱/inboxに到着のちに保存庫へ仕分けられるモデル
- 源/source: エンティティが発生する源
- 経路/channel: エンティティが目標地点へ到着するために利用する媒体
- 受信箱/inbox: エンティティを「置いておく」ことができる場所
- 保存庫/storage: エンティティが将来の利用のために整理・構造化されて保存される場所
例
明日のミーティング予定が告知される
明日のミーティング予定が、ミーティング開催者のAさんから参加者へメールにて送信される。
外での営業から戻ったBさんがGmailの受信箱を確認するとメールが入っている。
お茶を飲んで一息つき、メールをみるとミーティング日程だったので、カレンダーにミーティング予定を移してメールはアーカイブした。
- 源/source: ミーティング設置者
- 経路/channel: email
- 受信箱/inbox: Gmail受信箱
- 保存庫/storage: カレンダー
電話で連絡をした場合は、channelが"電話"、受信箱が"留守電"になる。
同じ源でも異なるチャネルを経ることがあるし、チャネルごとにinboxが設定されていることが多い.
受信箱/inboxの例と意義
例
意義: inboxが非同期処理を可能に
storageに入れるしかない場合、送信に合わせて受信待機し、流れてきたものをジャストで捕まえ、あるべき場所へ保存するしかない(逃したら終わり)
留守電が無ければ着信をとれないと情報は入ってこない.
留守電があれば源の人(電話をかけた人)はそこに情報を入れておけばいい.
受ける人は時間ができたタイミングで受信箱をチェックして情報を取り出せばいい.
外部から「置ける」場所のおかげでasyncな受信ができるようになる
内部の「置ける」場所のおかげで取得と処理を分離できるようになる
実践的形態
複数の要素が同じもので実装されている場合もある.
例: 受信箱に全部のメールを入れて管理している(inboxとstorageを一体運用)
その他の形態
shared storage方式.
受信者がinboxからstorageに動かすのではなく、送信者がshare storageを操作してエンティティを届け、操作したということ自体とそれに伴う動作の依頼を情報として獲得inboxモデルで通知する.
c.f. inboxという言葉
処理されていないメッセージが置いてある場所みたいな意味. 日本語だと受信箱が近い.
Inbox | Definition of Inbox by Lexico
inbox zeroというライフハックがあるように、じゃんじゃん入って来てentityが貯まるイメージは万国共通らしい
c.f. 通知の立ち位置
通知そのものの詳細はwikipedia: 通知
取得inboxモデルでは、inbox内エンティティの存在を知らせること == 通知