perl – API Wrapper Architecture最佳实践

前端之家收集整理的这篇文章主要介绍了perl – API Wrapper Architecture最佳实践前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一个REST webservice周围编写一个Perl包装模块,我希望就如何最好地构建模块提供一些建议.

我一直在看几个不同的Perl模块,以获得灵感.

Flickr::Simple2基本上是一个大的文件,其中包含Flickr API中不同方法方法,例如getPhotos()等

Flickr::API是用于进行HTTP请求的另一个模块(LWP)的子类.所以基本上它只允许你通过使用LWP的模块进行调用,这样就可以使用正确的API方法/ URL来定义任何包装方法本身.这说明很差 – 但是基本上它有一个方法,它接受一个参数(一个API方法名称),并构建正确的API调用,例如请求()/响应().

一个替代设计就像第一个描述的,但是不太单一的,具有针对API的单独“区域”的单独类.

我想遵循现代/最佳实践的Perl方法,所以我正在使用Dist::Zilla来构建OO的模块和Moose,但是我很欣赏一些关于如何真正设计/构建我的包装器的输入.

指导/教程或其他精心设计的模块的指针将不胜感激.

干杯

解决方法

这在某种程度上取决于你想要包装的API的广度/深度.

如果只有几个简单的API调用,第一种方法是正确的.

如果它具有非常复杂的API,您希望向用户公开“简单”模式,那么一个模式就是将主模块和子类分为Main :: Module :: Simple,它将围绕主要的底层模块.

正如你所指出的那样,一个非常广泛的API可能会受益于分割成负责包装每个区域的并行类(可能从基类继承或使用基类)的区域.只需要确定所有常见的东西,以避免任何代码/设计重复.

原文链接:https://www.f2er.com/Perl/171506.html

猜你在找的Perl相关文章