我必须实施
Bitmap
类作为库的一部分,并且该类需要根据其运行的环境进行不同的实现(例如,如果我在浏览器中作为silverlight应用程序运行该类,我将无法访问桌面上可用的方法)。这里有一个问题-我不控制
,或库中的任何其他类。为什么?因为它是另一个应用程序的端口;而且,虽然我有应用程序的代码,但我不想通过更改代码来破坏兼容性。我
做
,但是,请控制应用程序的入口点,以便
require
不管我需要什么,执行设置,配置全局变量等等。
编辑:
http://github.com/cstrahan/open-rpg-maker
我想知道的是:
-
-
我应该如何在git repo/源代码树中构造它?
以下是我的一些想法,但我相信你会有更好的想法:
-
-
分发应用程序时,请放置
要求
顶部取决于目标环境,例如:
require silverlight/bitmap
lib/bitmap.rb
将是空的,而
lib/silverlight/bitmap.rb
将包含实现。
-
把所有的实现都塞进
,并基于类实例变量或常量有条件地执行:
Bitmap.impl = "silverlight"
.
或者。。。
-
-
我应该如何在git repo/源代码树中构造它?
-
每个分发都有单独的分支。
或者。。。
-
库/silverlight/位图.rb
).
由于对Ruby非常陌生,我对这种最佳实践不太熟悉(我来自C#)。任何建议都将不胜感激!
-查尔斯