rschmitt commented on PR #719:
URL: 
https://github.com/apache/httpcomponents-client/pull/719#issuecomment-3615199975

   > @rschmitt That seems to imply that public API classes would have some 
implementation code in them that needed to be kept private / not exposed to the 
API consumers, because here is nothing stopping classes in impl from re-using 
package private code within that package.
   
   To clarify, my concern with an `impl` package is that at least one API in it 
needs to be declared `public` in order to facilitate internal calls within the 
client, and those public APIs could conceivably be declared package-private 
instead if they were in the same Java package as the caller. I think this 
aspect of code organization is frequently overlooked, which is one reason why 
every mature Java library ends up adding its own `@Internal` annotation. The 
other reason is Java's crude language-level visibility mechanisms. (Jigsaw 
fixes this, but I think it was delivered too late to matter much.)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to