Recently I am planning an internal training regarding Software engineering concept to my colleagues and one topic is “Interface Segregation”.
The following guideline is quoted from OODesign:
“When we design an application we should take care how we are going to make abstract a module which contains several submodules. Considering the module implemented by a class, we can have an abstraction of the system done in an interface. But if we want to extend our application adding another module that contains only some of the submodules of the original system, we are forced to implement the full interface and to write some dummy methods. Such an interface is named fat interface or polluted interface.
The Interface Segregation Principle states that clients should not be forced to implement interfaces they don’t use. Instead of one fat interface many small interfaces are preferred based on groups of methods, each one serving one submodule.”
I am very curious whether SAP standard code contains such fat interface or not. So I wrote a small CDS view:
And get all interfaces which contains more than 10 methods:
DATA: lt_int TYPE STANDARD TABLE OF Zfat_Interface.
SELECT * INTO TABLE @lt_int FROM ZFAT_INTERFACE where method_count > 10 ORDER BY method_count DESCENDING.
The result is there are totally 3139 such interfaces in my CRM development system.
I quickly go through the list, most of them are used to build system functionalities and NO application will implement them, so in my opinion the fact is acceptable.
On the other hand there is also another category of interfaces which has NO methods or attributes defined. Refer to this blog Tag(Marker) Interface in ABAP and Java for more detail.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关推荐
本资料集“SAP数据表大全ABAP数据表大全”显然提供了关于ABAP数据表的详尽资源,对理解SAP系统的数据结构和数据库操作具有重要意义。 1. **ABAP数据表的类型**: - 透明表:这是最常见的一种数据表类型,数据直接...
ABAP-透明表学习笔记.py
本文将详细介绍如何通过ABAP编程语言实现对SAP透明表数据的批量删除、添加以及修改操作。 #### 一、批量删除透明表数据 在进行批量删除之前,需要确保理解此操作的潜在风险。如果错误地执行了删除操作,可能会导致...
根据提供的文件信息,本文将详细解释SAP系统中如何解析XML文档,并将其内容提取到内部表中的过程。此过程涉及到了ABAP编程语言的具体应用,包括数据结构定义、数据提取逻辑以及与SAP系统的交互。 ### SAP 解析 XML ...
在ABAP(Advanced Business Application Programming)环境中,处理文件操作,如从FTP服务器下载文件、解析ZIP文件、将数据存储到内表以及管理文件系统中的文件移动,是常见的任务。本篇将详细介绍如何实现这些功能...
在这个特定的话题“ABAP维护表视图”中,我们将深入探讨如何在ABAP环境中管理和操作表视图,这是一种在数据库层面与数据交互的重要方式。 表视图在数据库管理中扮演着关键角色,它们提供了对原始数据库表的抽象和...
1. **数据导入导出**:利用ABAP解析XML的能力可以方便地实现与其他系统的数据交换,如从外部系统导入XML格式的数据,或将内部数据导出为XML格式。 2. **报表生成**:ABAP可以通过解析XML数据来生成各种报表,比如将...
ABAP 读取 EXCEL 数据到数据表中 ABAP 是 SAP 公司开发的一种高级编程语言,用于开发 SAP 系统中的应用程序。ABAP 语言具有强大的功能,可以实现复杂的业务逻辑和数据处理。本文将详细介绍如何使用 ABAP 语言读取 ...
在上述示例中,`wa` 是工作区,`itab` 是内部表,通过`INTO wa` 将内表中的每一行数据加载到工作区中进行处理。 ### 结论 了解和熟练运用ABAP中的工作区和内部表对于高效地开发SAP系统应用至关重要。工作区提供了...
4. **填充内表**:使用`FIELD-SYMBOLS`来动态定义字段并赋值,然后通过`APPEND`或`INSERT`将数据添加到内表。例如: ```abap DATA: ls_data LIKE LINE OF lt_table. FIELD-SYMBOLS: <ls_field> TYPE any. ...
### ABAP内表效率问题详解 #### 一、引言 在ABAP编程语言中,内表(Internal Tables)是存储数据的一种重要结构。根据不同的应用场景,开发人员可以选择使用标准内表(Standard Table)或排序内表(Sorted Table)...
这段代码使用 APPEND LINES 语句将 JTAB 内表的行添加到 ITAB 内表中,并使用 LOOP 语句遍历 ITAB 内表并输出每行数据。 5. 插入内表 可以使用 INSERT LINES 语句将一个内表的行插入到另一个内表中。例如: ```...
在ABAP编程语言中,动态内表(Dynamic Internal Tables)是一种非常灵活的数据结构,它允许程序员在运行时定义和操作内表。与静态内表相比,动态内表提供了更多的灵活性,尤其是在处理不确定的数据结构时更为实用。...
在ABAP编程中,内表(Internal Table)是一种非常重要的数据结构,用于存储和处理大量数据。内表灵活且高效,可以适应各种复杂的数据处理需求。以下是对ABAP内表创建方法的详细说明: 1. **声明表结构并基于表结构...
在ABAP(Advanced Business Application Programming)编程中,找表是一个常见的任务,这涉及到从数据库中检索数据以满足特定的需求。本文将深入探讨18种基于屏幕字段查找潜在数据的技巧,帮助ABAP开发者更高效地...
- 结构:并不直接存储数据,而是作为数据类型的定义,用于定义表的列或变量的组成。 2. **键的区别**: - 表:具有键字段,键字段用于唯一标识表中的每一条记录。 - 结构:没有键字段的概念。 3. **数据可见性...
在SAP ABAP编程中,动态内表的创建是实现灵活数据处理的重要手段,尤其是在处理大量数据或涉及多个系统表的场景下。本篇将详细解释如何动态地创建和使用内表,以及在进行动态更新时需要注意的关键点。 首先,让我们...
SAP 方丈-ABAP 通过表结构查表字段 SAP 方丈是一种基于 ABAP 的编程语言,用于开发 SAP 系统中的应用程序。ABAP 语言是 SAP 公司开发的一种高级编程语言,用于开发 SAP 系统中的应用程序。通过 ABAP 语言,可以对 ...
3. 添加数据:用户可以点击‘>>>’按钮,将选择的数据添加到右边的 TABLE_CONTROL 控件中,同时将左边的 TABLE_CONTROL 控件中的选择数据删除。 4. 删除数据:用户可以点击‘’按钮,将右边的 TABLE_CONTROL 控件中...
在处理数据导出任务时,ABAP程序员有时需要将系统内的数据导出到Excel格式,以便用户进行进一步的数据分析或处理。在本场景中,我们将探讨如何通过OLE(Object Linking and Embedding)技术在ABAP中实现Excel数据...