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