31.03.2013, 19:13 | #36 |
Участник
|
В принципе согласен:
Вариант 1. Мы инопланетяне, прилетевшие с планеты где не знают про RunBase и SysOperation Для SysOperation нам надо посмотреть: - перекрестные ссылки на метод - перекрестные ссылки на DictClass.callObject - и на \System Documentation\Classes\xApplication\runAsync - и использование ключевого слова runAs Для RunBase: - перекрестные ссылки на MyClass.run - перекрестные ссылки на RunBase.run Собственно это проблема примерно одна и та же - наличия полиморфизма + передача по ссылке. (представь себе, если б в runbase был метод X++: void startOperation() { if (this.prompt) { this.run(); } } НО! В данном случае это проблемой не является - так как я вижу вызов startOperation сразу же за созданием контроллера и мне не важно где происходит кокретный callObjectMethod. В-общем, это проблема полиморфизма + передачи ссылок. Только в случае runBase исследование кода легче для инопланетянина за счет того, что методы, которые планируются вызвать через RunBase явно принадлежат его подклассам. Для неинопланетянина это примерно одно и то же для обоих фреймворков. Пример прицепил (для нагладности запуск поместил в отдельный класс). Последний раз редактировалось belugin; 31.03.2013 в 19:18. |
|
Теги |
ax2012, runbase, runbasebatch, sysoperation framework |
|
|