Хук - это объектно-ориентированный разъём между модулями. Модуль реализации подключает этот разъём к интерфейсному модулю. Подробнее объяснено вhttp://oberoncore.ru/download/articles/DesignIdeas.pdf. Проще говоря, это вариация из той же оперы, что и Directories - для разделения интерфейса и конкретных реализаций.