From: Daniel <danielnorberto@gmail.com>
Subject: Re: Visibility issue
Date: Wed, 16 Sep 2020 07:35:10 -0700 (PDT) [thread overview]
Message-ID: <bce49fe6-b494-4f24-9cf5-a7b8be4c23d7n@googlegroups.com> (raw)
In-Reply-To: <rjsr5e$1blb$1@gioia.aioe.org>
El miércoles, 16 de septiembre de 2020 a las 12:58:58 UTC+2, Dmitry A. Kazakov escribió:
> On 16/09/2020 12:23, Daniel wrote:
> > El miércoles, 16 de septiembre de 2020 a las 9:14:23 UTC+2, Dmitry A. Kazakov escribió:
>
> > Let's try to set and construct all hidden part details from Internal side, not from user side.
> [...]
>
> Assuming "internal side" means "implementation side", this is in clear
> contradiction with the code you posted. Your package Internal is
> implementation and thus must be able to access whatever implementation
> details it needs.
>
> Otherwise the API must provide means of construction. [Must be done
> anyway in order to ensure the contract of Handle, provided default
> initialization does not do that.]
Then, I assume there is not a clear solution in Ada due to my imposed requirements (I'm not sure if it's possible with another language also)
So if the "Implementation side" needs all details, I only think in two options :
1.- Put the details of implementation in a children package in the API hierarchy, and try to explain users to don't "with it". I can try to make it really empty in the public part of the children package and only put what its needed for the implementation.
2.- Take out the details from "API hierarchy packages" to the "Implementation package hierarchy" and make visible everything I need in the "API side", and try also to explain users to don't use them.
I think will go for the first option. If you think there is another solution I will be glad to hear that.
In any case, thank you for the help! I'm Learning every day with the help of this group.
next prev parent reply other threads:[~2020-09-16 14:35 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-11 10:37 Visibility issue Daniel
2020-09-11 11:51 ` Maxim Reznik
2020-09-11 20:11 ` Daniel
2020-09-11 14:23 ` Jeffrey R. Carter
2020-09-11 20:17 ` Daniel
2020-09-11 22:36 ` Jeffrey R. Carter
2020-09-14 10:47 ` Daniel
2020-09-14 16:10 ` Jeffrey R. Carter
2020-09-15 19:11 ` Daniel
2020-09-15 20:03 ` Jeffrey R. Carter
2020-09-11 21:05 ` Dmitry A. Kazakov
2020-09-14 11:33 ` Daniel
2020-09-14 14:42 ` Dmitry A. Kazakov
2020-09-15 19:35 ` Daniel
2020-09-16 7:14 ` Dmitry A. Kazakov
2020-09-16 10:23 ` Daniel
2020-09-16 10:58 ` Dmitry A. Kazakov
2020-09-16 14:35 ` Daniel [this message]
2020-09-16 14:49 ` Jeffrey R. Carter
2020-09-16 15:05 ` Dmitry A. Kazakov
2020-09-16 20:09 ` Daniel
2020-09-16 21:48 ` Simon Wright
2020-09-17 13:31 ` Daniel
2020-09-17 15:00 ` Dmitry A. Kazakov
2020-09-17 15:32 ` Daniel
2020-09-17 16:47 ` Dmitry A. Kazakov
2020-09-18 8:05 ` Simon Wright
2020-09-14 16:18 ` Simon Wright
2020-09-17 15:58 ` Jere
2020-09-17 16:10 ` Jere
2020-09-18 8:08 ` Simon Wright
2020-09-17 21:47 ` Shark8
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox