SAP Classic Dynpro 和 OO 编程。为什么不?
SAP Classic Dynpro and OO programming. Why not?
我读了几篇文章,说你不能在 SAP 的经典 dynpros 中开发 OO。
我是初学者,所以我可能有一些误解。但是当我使用 类 和对象时,我正在开发面向对象,对吗?
在 dynpro 中,我还可以使用 类 并创建对象,使用它们的方法等。
那么为什么 Dynpro 不是面向对象的呢?
我知道这是一个基本问题,但如果我对 OO 有误解,我需要把它从脑海中抹去:)
这主要是因为 classic PBO-PAI 处理。您必须使用 "message-pump",例如 classic dynpro 是几年前开发的。但我必须不同意,不可能按照 OOP 原则进行开发。它只是不太好,例如,您必须捕获 PAI 以进行进一步的导航、验证和处理,并且您可以在 PBO 中设置值、消息等。
虽然它很丑陋,但它仍然为您提供了完美的方法来做什么?
嘿嘿嘿?
MVC 设计模式。
只要你建模了一个好的模型和控制器,你就可以将它作为一个对象跟踪在 top-include 中并创建一些包装器,它必须首先通过控制(我不太喜欢它)通过 PAI/PBO-Modules 向下到表单例程,在这些表单例程中,您可以自由执行您想要的一切,即使在 OO 上下文中也是如此。创建一个全局模型和控制器 class,创建一个带有一个 alv-grid 的 dynpro,同时创建一个 top-include 并尝试使用。
已经有很多标准应用程序使用完全相同的方法。
一件好事是(尽管你有模块形式例程委托),你真的可以开始对模型和控制器进行很好的建模,这就是 oo 的定义。
SAP ABAP Classical Dynpro 屏幕是内置过程的一部分,它在显示屏幕之前运行处理 (PBO),显示屏幕,然后在屏幕上检测到操作后进行处理 (PAI)。
处理此问题的 SAP 代码是过程性的,因此您无法构建 "pure" OO 程序。
您可以在程序中使用类、对象和方法,但您还必须涉及过程处理。
尝试使用 MVC 可能会把事情搞得一团糟,但那时候为什么不直接使用 WebDynpro 呢?
我读了几篇文章,说你不能在 SAP 的经典 dynpros 中开发 OO。 我是初学者,所以我可能有一些误解。但是当我使用 类 和对象时,我正在开发面向对象,对吗?
在 dynpro 中,我还可以使用 类 并创建对象,使用它们的方法等。 那么为什么 Dynpro 不是面向对象的呢?
我知道这是一个基本问题,但如果我对 OO 有误解,我需要把它从脑海中抹去:)
这主要是因为 classic PBO-PAI 处理。您必须使用 "message-pump",例如 classic dynpro 是几年前开发的。但我必须不同意,不可能按照 OOP 原则进行开发。它只是不太好,例如,您必须捕获 PAI 以进行进一步的导航、验证和处理,并且您可以在 PBO 中设置值、消息等。
虽然它很丑陋,但它仍然为您提供了完美的方法来做什么? 嘿嘿嘿?
MVC 设计模式。
只要你建模了一个好的模型和控制器,你就可以将它作为一个对象跟踪在 top-include 中并创建一些包装器,它必须首先通过控制(我不太喜欢它)通过 PAI/PBO-Modules 向下到表单例程,在这些表单例程中,您可以自由执行您想要的一切,即使在 OO 上下文中也是如此。创建一个全局模型和控制器 class,创建一个带有一个 alv-grid 的 dynpro,同时创建一个 top-include 并尝试使用。 已经有很多标准应用程序使用完全相同的方法。 一件好事是(尽管你有模块形式例程委托),你真的可以开始对模型和控制器进行很好的建模,这就是 oo 的定义。
SAP ABAP Classical Dynpro 屏幕是内置过程的一部分,它在显示屏幕之前运行处理 (PBO),显示屏幕,然后在屏幕上检测到操作后进行处理 (PAI)。
处理此问题的 SAP 代码是过程性的,因此您无法构建 "pure" OO 程序。
您可以在程序中使用类、对象和方法,但您还必须涉及过程处理。
尝试使用 MVC 可能会把事情搞得一团糟,但那时候为什么不直接使用 WebDynpro 呢?