我有一个用Delphi编写的应用程序并移植到C#,它广泛使用了委托(这使我可以轻松添加新模块)。我认为它会成为一款出色的Android手机应用程序,但Java本身并不代表这些代表。我已经看到了几个尝试使用反射来代理的Java代码示例,但这对于小型设备应用程序来说似乎并不高效。
关于如何在没有大量重新架构的情况下移植我的应用程序的任何建议?
答案 0 :(得分:2)
在不了解更多细节的情况下,我无法建议适合您情况的精确移植方法。
话虽如此,我会考虑将您的代表更改为事件监听器。事件监听器可以快速创建,提供通用调用签名,并具有通过不同功能轻松实现的灵活性。而且,它们很容易动态移动。更改目标方法是替换侦听器的简单问题。调用方法只是调用事件。
接口是另一种选择,但在移动平台上更重,更不灵活。
希望这就是你要找的东西。
答案 1 :(得分:0)
Java使用 EventListeners 而不是委托。这也称为观察者模式: http://en.wikipedia.org/wiki/Observer_pattern