现在公司的产品结构是 C++写底层,Java写UI的现在想对产品进行一下裁减,C++这边的方案就是对每个特性添加 一个宏,如果这个release需要这个特性只要打开这个宏就可以了,否则关闭这个宏。不知道Java那边有什么好的方法来实现这个的可订制裁减。现在裁减主要的目的就是为了减小产品的大小,所以C++那边采用宏可以说是一个非常好的解决方案,不需要的特性都不需要编译,所以想在Java这边也能达到这个样的效果。
调试欢乐多
java没有宏,再说,宏的速度也慢呀,按你说的,为了节省空间而用宏,那要用多少宏呀,还不如用dll呢
不同的工作可以实现相同接口,提供不同的jar包,这样就可以实现你说的剪裁了
如果发现方法没有相同性,可以通过反射机制来完成。你看看数据库驱动和look&feel,他们都推荐通过反射来做。你说得也可以用这种方法来实现。而对于宏,java不支持,而且oo语言也不建议采用,他会影响程序的可靠性。并且宏的执行速度慢(你可以测试一下)。我敢保证,你说得那些可以通过宏文件来实现的都可以通过jar包来实现。而且结构更清晰
Java 里面有宏? 反正C/C++里面的宏只会编译时替换,很多时候为了获取速度,而采用宏
你说的接口什么的,我理解,并且我们现在就是这么做的。
但问题是,比如我用了look&feel,肯定是在我的代码里import了look&feel的packet,并且也是在我的代码里使用了look&feel的接口定义的函数了。如过我现在想把它裁减了,有什么好的办法?
不要告诉我,把import和使用的的地方注释掉就可以了
因为后面的版本又可能需要这个功能,或者这个代码需要编译出不同的版本,一个版本需要look&feel,另一个版本不需要look&feel。
我对Java不熟悉,所以才来请教大家的我之所以来问这个问题就是因为有这些的限制条件,我自己想不到完美的解决方案才来请教大家的另外之所以用Java做界面这个不是我觉定的,公司的产品由来已久,一方面是为了跨平台