Интеграция кода XS в файлы определения класса Moose
Вопрос
Я написал модуль Perl на основе XS, который обеспечивает доступ к функциям в библиотеке C - давайте назовем его mylib_xs на данный момент. Я хочу двигаться вперед, используя эти функции для определения методов в классе лося. Конечно, я могу просто use MyLib_XS;
Внутри моего модуля определения класса Moose и функций вызова в моих методах класса - все работает. Тем не менее, я хочу знать, смогу ли я сделать лучше
Можно ли интегрировать мой файл .xs с моим классом на основе лосей и функциями вызовов, реализованных в файле XS из методов внутри класса без использования промежуточного модуля mylib_xs.pm?
Любые указатели на модули на CPAN, которые это делают, также были бы отличными. Спасибо
Решение
Я бы сказал, что это было бы чище, аккуратно, легче читать и легче изменить, чтобы поддерживать модуль лося отдельно от модуля XS. В противном случае вы нарушаете принцип единственной ответственности - ваш класс Moose определяет поведение программы и интерфейс XS.