SAP系統裡的胖介面Fat interface
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 orpolluted 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. If you are intrested with the list, you can find the excel here.
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的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2723620/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SAP ABAP Netweaver裡的胖介面(fat interface)
- interface/介面
- java中的interface(介面)Java
- SAP QM 如何在SAP系統裡審批掛在Quality Notification裡的document?
- public interface View介面和public interface ViewResolver介面介紹View
- SAP Cloud for Customer和SAP Fiori系統裡的OData測試工具Cloud
- SAP ERP系統裡的那些核心主資料
- firewalld: 介面interface操作
- 如何理解 interface 介面
- Java-介面(interface)Java
- SNP分享:SAP系統有哪些介面技術?
- SAP MM MIGO介面裡的'Via Delivery'選項Go
- 檔案系統(四):FAT32檔案系統實現原理
- 製藥行業SAP專案裡的那些MES系統行業
- SAP S4/HANA系統裡的客供件管理
- 製藥行業SAP專案裡的那些LIMS系統行業
- SAP系統裡批次雙計量單位的實現
- TypeScript 裡 interface 和 type 的區別TypeScript
- SAP ECC系統連線SAP PI系統的系統連線配置
- 瞭解下C# 介面(Interface)C#
- C#-介面(Interface)詳解C#
- Interface(介面分享)第一節
- go sort.Interface 排序介面Go排序
- 淺談 SAP ABAP 系統裡的 ALV 輸出方式實現
- 使用Golang的interface介面設計原則Golang
- SAP MM MIGO介面‘Where’標籤頁裡的storage binGo
- NTFS、exFAT、FAT32、Ext4檔案系統的區別
- interface 介面 -Go 學習記錄Go
- 使用Java+SAP雲平臺+SAP Cloud Connector呼叫ABAP On-Premise系統裡的函式JavaCloudREM函式
- PHP中的 抽象類(abstract class)和 介面(interface)PHP抽象
- SAP Fiori Tools 和對應的 CLI (Command Line Interface)
- SAP系統玩陰的?
- 如何在SAP S4HANA Cloud系統裡建立employeeCloud
- SAP S4HANA 2023 PCE系統上ME23N介面裡的列印預覽功能不能使用?
- PLC結構化文字(ST)——介面(Interface)
- Golang 學習——interface 介面學習(一)Golang
- Golang 學習——interface 介面學習(二)Golang
- 企業為什麼要上ERP?SAP系統好在哪裡?