我在一个REST webservice周围编写一个Perl包装模块,我希望就如何最好地构建模块提供一些建议.
我一直在看几个不同的Perl模块,以获得灵感.
Flickr::Simple2
基本上是一个大的文件,其中包含Flickr API中不同方法的方法,例如getPhotos()等
Flickr::API
是用于进行HTTP请求的另一个模块(LWP)的子类.所以基本上它只允许你通过使用LWP的模块进行调用,这样就可以使用正确的API方法/ URL来定义任何包装方法本身.这说明很差 – 但是基本上它有一个方法,它接受一个参数(一个API方法名称),并构建正确的API调用,例如请求()/响应().
一个替代设计就像第一个描述的,但是不太单一的,具有针对API的单独“区域”的单独类.
我想遵循现代/最佳实践的Perl方法,所以我正在使用Dist::Zilla
来构建OO的模块和Moose
,但是我很欣赏一些关于如何真正设计/构建我的包装器的输入.
指导/教程或其他精心设计的模块的指针将不胜感激.
干杯