[ 
https://issues.apache.org/jira/browse/MNG-8490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17910610#comment-17910610
 ] 

Elliotte Rusty Harold edited comment on MNG-8490 at 1/7/25 12:33 PM:
---------------------------------------------------------------------

Using interfaces does *not* enable decoupling  between the contract and the 
implementation, and is not required to decouple contract and implementation. 
That is the distinction between non-private class and method signatures and the 
actual code. A concrete class has a published API and an implementation, and 
the implementation can be changed without touching the public API or modifying 
the contract in any way. Most other object oriented languages like C++ don't 
even have the concept of an interface like the Java keyword. 


was (Author: elharo):
Using interfaces does *not* enable decoupling  between the contract and the 
implementation, and is not required ot decouple contract and implementation. 
That is the distinction between non-private class and method signatures and the 
actual code. A concrete class has a published API and an implementation, and 
the implementation can be changed without touching the public API or modifying 
the contract in any way. Most other object oriented languages like C++ don't 
even have the concept of an interface like the Java keyword. 

> Combine XmlNode and XmlNodeImpl
> -------------------------------
>
>                 Key: MNG-8490
>                 URL: https://issues.apache.org/jira/browse/MNG-8490
>             Project: Maven
>          Issue Type: Improvement
>            Reporter: Elliotte Rusty Harold
>            Priority: Blocker
>              Labels: up-for-grabs
>
> Single use interfaces are an antipattern. Make everything simpler by having a 
> single concrete XmlNode class.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to