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开发从入门到精通 内容简介: 《SAP ABAP开发从入门到精通》以应用实例的形式,讲解了SAPABAP开发的相关知识点,详细介绍了SAPABAP开发者必须掌握的包与变更传输系统(CTS)、数据类型、数据库...
本案例将详细讲解如何配置SAP ABAP来调用外部接口Web服务。 首先,我们需要创建一个企业服务(Enterprise Service)的消费者代理。在SE80事务码中,选择一个合适的开发类,然后右键点击并选择“创建” → “企业...
SAP ABAP(Advanced Business Application Programming)是SAP公司推出的一种高级业务应用编程语言,用于开发在SAP R/3和SAP NetWeaver平台上的应用程序。这些电子书提供了全面的资源,帮助学习者深入理解并掌握SAP ...
SAP ABAP 调用HTTPS ; 上传文件并调用接口
首先,让我们了解SAP ABAP中的通用接口日志(Generic Interface Logging)。通用接口日志是一个功能强大的工具,它允许开发者跟踪和记录在系统中执行的接口调用。在处理大量数据交换或集成场景时,日志记录变得至关...
SAP是一种全球领先的业务软件系统,它用于企业管理各种复杂流程,包括财务、供应链、人力资源等。...实践是学习编程的最佳途径,这个资源提供了一个良好的起点,帮助你在SAP ABAP的世界里稳步前行。
根据文档标题“BC-IDocInterface:EDI Application Scenarios”以及描述“SAP ABAP IDOC Interface”,我们可以推测此文档主要介绍了如何利用SAP ABAP中的IDOC接口来进行EDI相关的应用开发。文档中可能包含以下内容:...
《SAP ABAP开发从入门到精通》以应用实例的形式,讲解了SAP ABAP开发的相关知识点,详细介绍了SAP ABAP开发者必须掌握的包与变更传输系统(CTS)、数据类型、数据库、模块化程序、内表、调试、ABAP数据字典、锁对象...
《SAP ABAP实用程序开发攻略》这篇文档主要向初学者介绍了SAP ABAP语言以及其在SAP系统开发中的应用,涵盖从基础知识到数据类型和开发工具的详细解释。 首先,文档开篇提到SAP技术架构及发展历程,这为读者提供了一...
ABAP是一种结构化编程语言,主要用于SAP NetWeaver平台。它支持多种编程范式,包括过程编程、面向对象编程以及事件驱动编程。ABAP的主要组件包括: 1. **源代码编辑器**:用于编写和编辑ABAP程序的工具。 2. **ABAP...
7. **OO ABAP**:随着SAP NetWeaver的引入,ABAP引入了面向对象的概念,包括类、对象、继承、多态性和封装。这扩展了ABAP的能力,使其能够构建更复杂的应用。 8. **数据库访问**:ABAP提供了多种数据库访问技术,如...
SAP ABAP 1.4.4的代码可能包含各种程序、报表、函数模块、类、接口等。文件名为"SAP ABAP CODE下载-1.4.4.txt"可能是一个文本文件,其中包含了这些源代码的清单或者链接,供开发者参考和下载。 在实际应用中,SAP ...
ABAP(Advanced Business Application Programming)是SAP公司推出的一种编程语言,主要用于开发SAP系统中的业务应用程序。SAP系统在全球企业资源规划(ERP)领域有着广泛的应用,而ABAP则是其核心开发语言,使得...
SAP ABAP 代码备份下载到本地程序代码
6. **OO ABAP**:随着SAP NetWeaver的引入,ABAP引入了面向对象的概念。教程会介绍类、对象、继承、多态等概念,以及如何在ABAP中实现这些特性。 7. **Web Dynpro ABAP**:这是SAP提供的一种用于构建Web应用程序的...
.NET SAP RFC API是基于SAP NetWeaver RFC SDK构建的,用于在.NET环境中与SAP系统进行集成和通信。SAP Remote Function Call (RFC) 是一个接口技术,它允许外部系统(如.NET应用程序)调用SAP系统中的函数模块,执行...
SAP ABAP开发学习——第9课:ALV2(视频教程) 1.SAP ABAP开发入门学习 2.含视频教程学习、PPT、作业 3.视频非常清晰
《SAP ABAP开发技术详解(实例篇)(第二版) [1] 》除了对对SAP ABAP开发所需的常用技术(SAP报表、批量导入、对话程序、函数)做了详尽的介绍,包括基本报表、交互式报表、复杂报表、ALV(SAP List Viewer)报表、...
1. ABAP概述:了解ABAP语言的历史、特点、在SAP系统中的作用以及ABAP与SAP NetWeaver平台的关系。 2. 开发环境:熟悉SAP ABAP工作台的安装和配置,以及使用ABAP工作台进行开发的基本操作。 3. 数据字典:掌握数据...
【SAP ABAP】调用API接口实例.abap