SAP Classic Dynpro和OO编程。为什么不?

Dyr*_*dek 5 oop sap abap dynpro

我读过几篇文章,说您不能在SAP经典的dynpros中开发OO。我是一个初学者,所以也许我有一些误会。但是当我使用类和对象时,我正在开发面向对象的对象,对吗?

在dynpro中,我还可以使用类和创建对象,使用其方法等。那么Dynpro为什么不是OO?

我知道这是一个基本问题,但是如果我对OO有误解,则需要把这个问题排除在外:)

icb*_*tes 2

这主要是因为经典的 PBO-PAI 处理。您必须使用“消息泵”,就像几年前开发的经典 dynpro 一样。但我必须不同意,不可能按照 OOP 原则进行开发。它只是不太好,例如,您必须捕获 PAI 以进行进一步的导航、验证和处理,并且您可以在 PBO 中设置值、消息等。

但尽管它很丑陋,它仍然为您提供了实现什么的完美方法?呵呵呵呵?

MVC 设计模式。

只要你建模了一个好的模型和控制器,你就可以将它作为顶部包含中的对象进行跟踪并创建一些包装器,这些包装器必须首先通过 PAI/PBO 传递控制(我不太喜欢它) - 模块深入到表单例程,在这些表单例程内您可以自由地执行您想要的任何内容,即使在 OO 上下文中也是如此。创建一个全局模型和控制器类,创建一个带有一个 alv-grid 的 dynpro,还创建一个顶部包含并尝试使用。已经有很多标准应用程序使用完全相同的方法。一件好事是(尽管您有 module-formroutine-delegation ),您可以真正开始对模型和控制器进行良好的建模,根据定义,这是 oo 。