-
Notifications
You must be signed in to change notification settings - Fork 218
能不能更好地支持Clojure #41
Comments
这个好,只要会java就可以参与。 |
恩,挺好的,如果可以的话,我可以来开发这个Command. |
刚注意到,housemd是用scala写的啊,不会啊。。 |
没事, Duck就是 |
好,等你开发指南出来后,我来搞搞这个。 |
开发指南已发布, 期待你的贡献! |
开发指南里面有一点好像没有涉及到,就是如果我要开发一个插件,我需要继承什么类,需要跟哪些类打交道,这些类的字段之类的是什么意思之类的。从提供的两个Java实现的例子来自己去挖掘这些信息感觉还是有些吃力。 |
呵呵, 此前不知道该写什么和不写什么, 索性不写等你来问, 这样我就知道写什么了, 哈哈. 文档已经更新了. |
问一个不大相关的问题。这个软件为什么叫HouseMD? 代码里面为什么会有类叫做Duck, Telephone, MobilePhone... |
能不能再介绍下Context对象里面的那些字段 |
文艺青年啊 |
你说要在HouseMD的第55行加一下?没看出来怎么加,这一行是"def run() {" |
囧, 行号变过了, 现在是
|
你不会是美国办公吧, 我扛不住了, 先躺下了, 晚安. |
如果要实现一个 |
思路是这样, 但指令是通过反射实例化的, 彼此之间相互独立, 现有的实现无法做到之间相互调用. 我建议:
|
这个复杂了。。。感觉插件之间能够相互调用重用实现对于整个插件体系还是蛮重要的,因为很多命令可能都是在另外一个命令上面稍微做些封装,考虑下先把这个点给优化了? |
插件上的复用想法, 有道理, 这个需要重新思考, 目前的"很土"的实现还不能称为插件体系. 插件体系要放到 但就 |
哦,我懂你意思。插件复用也不一定非要一个command直接调用另外一个command,或者继承之类的。最简单的可能就是把这种逻辑封装到一个对象或者方法里面去,然后所有的command都可以用。 |
现有版本可参考下面的伪代码形式进行复用: public class CLLoaded extends Command {
private final Loaded loaded ;
public CLLoaded(...) {...} // 省略构造器
@Override
public void parse(String[] arguments){
loaded.parse(transform(arguments));
}
public void run() {
loaded.run();
}
} |
Clojure是JVM上的一个语言,但是用HouseMD来调试Clojure代码的话,需要知道Clojure的实现细节: http://www.blogjava.net/killme2008/archive/2012/06/15/380822.html, 如果能够原生支持Clojure那就太好了。可以作为一个单独的命令?或者如果觉得不是核心功能,是否可以作为一个插件插进来?
The text was updated successfully, but these errors were encountered: