引言

能被不同平台共享的代码越多,跨平台的项目就越容易。所有平台上公用的功能应该被标识出来避免它们在平台相关的代码里重复出现。并且它们的编译、测试和部署应该贯穿在整个生命周期中。建议隐藏到一个统一的API抽象之中去。

在工厂模式下,可以编写一个希望暴露的功能接口,进而向每一个支持的平台提供这个功能的具体实现。在编译或运行阶段,可以根据平台的不同来具体实现,然后实例化,最后粘合到接口类中。当application调用接口类时,把平台相关的功能代理给这个具体实现。可移植功能单独在接口类中实现,不能重复。

假如实现一个列出在系统上所有运行中的进程名字和id的函数,在 mac、linux、和windows上运行

阅读更多