代码之家  ›  专栏  ›  技术社区  ›  Charles

Ruby:在一个项目中针对多个平台

  •  1
  • Charles  · 技术社区  · 16 年前

    我必须实施 Bitmap 类作为库的一部分,并且该类需要根据其运行的环境进行不同的实现(例如,如果我在浏览器中作为silverlight应用程序运行该类,我将无法访问桌面上可用的方法)。这里有一个问题-我不控制 ,或库中的任何其他类。为什么?因为它是另一个应用程序的端口;而且,虽然我有应用程序的代码,但我不想通过更改代码来破坏兼容性。我 ,但是,请控制应用程序的入口点,以便 require 不管我需要什么,执行设置,配置全局变量等等。

    编辑: http://github.com/cstrahan/open-rpg-maker

    我想知道的是:

    1. 我应该如何在git repo/源代码树中构造它?

    以下是我的一些想法,但我相信你会有更好的想法:

      • 分发应用程序时,请放置 要求 顶部取决于目标环境,例如: require silverlight/bitmap lib/bitmap.rb 将是空的,而 lib/silverlight/bitmap.rb 将包含实现。
      • 把所有的实现都塞进 ,并基于类实例变量或常量有条件地执行: Bitmap.impl = "silverlight" . 或者。。。
    1. 我应该如何在git repo/源代码树中构造它?
      • 每个分发都有单独的分支。 或者。。。
      • 库/silverlight/位图.rb ).

    由于对Ruby非常陌生,我对这种最佳实践不太熟悉(我来自C#)。任何建议都将不胜感激!

    -查尔斯

    0 回复  |  直到 16 年前
    推荐文章