1) Когда люди в вашей организации начали программировать в OO ABAP?
Большинство разработчиков в моей организации изучили классический ABAP до появления ABAP OO. В основном это старшие разработчики, которые воздерживаются от изучения принципов ООП и ООД. Они по-прежнему используют в основном процедурные функции ABAP.
Кроме того, мы работаем в устаревшей среде. Основы нашего бэкэнда были построены во времена 4.6C. Трудно внедрить надлежащий OO Design в устаревшие системы.
С другой стороны, процедурные функции все еще работают. Некоторые функции, такие как транзакционные обновления базы данных, в основном используются из процедурной части ABAP. Возможно, вы знаете, обновить функциональные модули или подпрограммы исключительно для транзакций базы данных (те, которые вы можете назвать IN UPDATE TASK
). Они являются неотъемлемой частью базовых компонентов ABAP. Нельзя отрицать, что процедурная часть ABAP по-прежнему необходима.
2) Есть ли существенная причина, по которой люди хотели бы закодировать это OO-способом? например Вызов метода быстрее, чем оператор PERFORM?
Как вы сравнили время выполнения CALL METHOD и PERFOM? Вы пробовали программу RSHOWTIM / Или вы провели некоторые тесты производительности из рабочей среды ABAP? Один вызов подпрограммы существенно не отличается от вызова метода. Однако при вызове в массовом тесте вызовы имеют немного лучшую производительность (по величине микросекунд).
В целом, я рекомендую OOD и OOP с теми же аргументами, что и пользователи, которые публиковали ранее. Но вы должны иметь в виду, что старшие разработчики, знакомые со старым миром ABAP, должны понимать принципы ОО, прежде чем они начнут писать ОО ABAP.
В противном случае ваша организация не получит прибыль от ABAP OO, а наоборот. Есть много опытных разработчиков ABAP без знания ОО, которые были вынуждены писать классы. На самом деле они имитируют процедурные принципы с классами (например, класс со исключительно статическими методами - в качестве замены функциональных модулей / подпрограмм).
Удачи вашей организации в решении проблем с ABAP OO! Речь идет не о языке, а о том, как принципы OO должны быть в уме ваших сотрудников.