<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <dfn xml:lang="en">layering violation</dfn> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">階層化</anchor>設計に対する違反です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オペレーティング・システム</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ネットワーク・プロトコル</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション・ソフトウェア</anchor>、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク付け文書</anchor>などに関する様々な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">計算機システム</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">階層化</anchor>・<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ブロック化</anchor>された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">モジュール</anchor>が相互作用する形で実現されています。
本来各<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">モジュール</anchor>は予め定義された限定された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">界面</anchor>を通してのみ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">疎結合</anchor>するのが理想的であるとされていますが、
実際には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">パフォーマンス</anchor>上の理由、開発体制的な理由、設計の不十分さ、
対象そのものの複雑さなど数多の理由によって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">モジュール</anchor>間の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">密結合</anchor>や重複が発生することがあります。
このような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">モジュール化</anchor>の失敗 (特に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">階層</anchor>間の機能分離の失敗) を一般に
layering violation と呼んでいます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">階層化</anchor>規約に対する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">違反を敢えて行う<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">意図的違反</title></anchor>ことを<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マルチレイヤ設計</anchor>などと呼ぶこともあります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> 
関連: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OSI参照モデル</anchor></p></body></html>