[1] [DFN@en[layering violation]] は、[[階層化]]設計に対する違反です。 [2] [[オペレーティング・システム]]、[[ネットワーク・プロトコル]]、[[アプリケーション・ソフトウェア]]、 [[マーク付け文書]]などに関する様々な[[計算機システム]]は[[階層化]]・[[ブロック化]]された[[モジュール]]が相互作用する形で実現されています。 本来各[[モジュール]]は予め定義された限定された[[界面]]を通してのみ[[疎結合]]するのが理想的であるとされていますが、 実際には[[パフォーマンス]]上の理由、開発体制的な理由、設計の不十分さ、 対象そのものの複雑さなど数多の理由によって[[モジュール]]間の[[密結合]]や重複が発生することがあります。 このような[[モジュール化]]の失敗 (特に[[階層]]間の機能分離の失敗) を一般に layering violation と呼んでいます。 [3] [[階層化]]規約に対する違反を敢えて行うことを[[マルチレイヤ設計]]などと呼ぶこともあります。