[ 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)