开发Angular2 Dart资产服务,第2部分

第1部分

对于上一篇文章中描述的虚拟场景,我们构建了一个简单的内容服务,该服务将为我们的文章应用程序提供随机的lorem ipsum文本。 现在,我们的经理告诉我们最新消息:现在,该内容将由我们公司的广告部门自行开发,该部门不是技术人员。 撰稿人已经同意在Markdown中撰写文章,并使用Gi​​tHub的Web界面进行提交,但这只是他们愿意半途而废地与我们见面的程度。

由于我们在第1部分中通过创建可注入的ContentService很好的规划,所以这不是问题。 实际上,我们只需要编写一个新类并更改原始应用程序的一行即可! 至于内容本身,我们将利用Dart强大的转换器来构建内容存储库,该内容存储库以markdown编写,但以HTML格式提供; 这仅带有少量标记代码。

基于客户端的内容服务

回想一下第1部分,我们设计了一个非常简单的界面来定义我们的内容服务行为:

完成所有文章后, pub build同样会生成HTML,并且只有系统管理员可以将这些页面托管在我们的应用可以到达的地方。

结论

Angular Dart的依赖项注入使构建和使用替代服务实现变得快速而有趣。 通过合理的计划和仅几行代码,我们就轻松适应了非常规的需求变更。

在第3部分中,我们将为摄影图像构建一个更详细的资产提供者和内容存储库,使我们不仅可以外部化资产本身,还可以将许可和归属问题外部化。

资源

该示例的完整源代码可在GitHub上找到。