「より共通的な機能」を下におき、「より個別の機能」を上に置いて、上の機能が下の機能を利用する形で、階層的に取り決める
「コンソメスープの作り方」という具体的な調理法の手順は上に置く、という形で、階層化します。そして、コンソメスープを作るにあたり
必要な野菜の刻み方や肉の切り方は下に置いてある手順を参照する
、といった決まりにするのです。こうすることで、「コンソメスープの作り方」を階層的に定めることができます。
通信に必要な一連の複雑な手順を、関連があるものごとにまとめ、共通的なものや単純なものを
下に個別の機能
や複雑な機能を上
に置いて、階層的に全体のルールを定めています。この時の各階層のことを「レイヤー」あるいは「層」と呼びます。
階層の境界が設けられることにより、プロトコルの位置づけが明確になり、組み替えがしやすくなる
先の例のように調理法レイヤーと素材加工法レイヤーが分かれているときに、今度は寄せ鍋を作れるようにしたいとします。この場合、「魚の下ろし方」の手順を素材加工レイヤーに加えて、「寄せ鍋の作り方」を調理法レイヤに加えます。それら以外の「野菜刻み方」と「肉切り方」は、
コンソメスープで使ったものと同じものを使うことができます
。
似た作業を同じレイヤーに集める
上位レイヤーのものが変わっても下位レイヤーまで共通のものを使って簡単に作ることができる。
感想
下の階層が共通的な機能、単純な機能ルールを上位に提供し、個別な機能、複雑な機能を実現するルールに下位を利用する
したが下ごしらえしてそれぞれの料理をするということか。