"プロトコルロール" | 白と黒を見続けて、乱視。

"プロトコルロール"

プロトコルロールとは。

プロトコルロールは、単一のビュー(基本または共役)のみを表し、特定のポートタイプによって送受信可能なメッセ-ジを指定します。

「基本」(base)ロールとは、定義されたとおりのプロトコルのビューです。
「共役」(conjugate)ロールとは、プロトコルクラスに定義されたものとは反対の入力シグナルと出力シグナルを持っています。

基本でoutputされた情報を共役でinput
共役でoutputされた情報を基本でinput

二つのカプセルが同じプロトコルを使って通信する場合、どちらのカプセルがConjugatedするかは、カプセルの立場で決める。通常プロトコルは下位のカプセルが上位のカプセルに提供するというスタンスで作成するため、InSignalが上位のカプセルに入力されるメッセージ、OutSignalが上位カプセルから出力されるメッセージとなる。よってConjugateするのは下位のカプセルということになる。


メッセージに引数をつけたい場合は、プロトコルのSpecificationでInSignals、OutSignalsの定義をする際、引数の型をDataClassに定義する。シグナルへの引数は一つしかつけられないため、複数の引数を渡したい場合はこのシグナルの引数のためのクラスを新たに定義し、そのクラスの属性として複数の引数を定義しておく必要がある。DataClassとしてはこの新しく定義したクラスを記述しておけばよい。またシグナルで渡されるデータはすべてコピーとなる。ポインタを引数として送信する場合にはDataClassを空白にしておく必要がある。なにも引数がない場合にはvoidとしておく。




・・・・ひとつもわからん。。。

今日起きたらふっと「プロトコルロール」という言葉が頭をよぎって、

この言葉知らないし意味もわからないのに、起きたての頭にふとよぎったんです。

なんかのメッセージかなあ(笑)

夢、というより、言葉だけだからなあ。

誰かわかりやすく説明してください!