On Fri, Oct 7, 2016 at 8:29 AM, stdreamer <stdrea...@freemail.gr> wrote:
> No! Delegation is a mechanism, when used, you have to know exactly how it
> works.

The "mechanism" here is about using [implements].
We have to know what is the sintaxe:
- declare a property
- use [implements] keyword
- could be a class or interface
- and so on.

The user (programmer) that consumes these classes as a contained
objects, should't know NOTHING about their hierarchies!

> Delegation is only used to minimize code instead of writing a bunch
> of procedures that call the contained object's methods. That's it and
> nothing more.

And this is great! As I know, only Object Pascal have this feature so,
let's use it.

> [...]
>
> The point is that you are trying to equate delegation with contained
> objects/interfaces and that is not what delegates are about. Delegation has
> nothing to do with the underlined mechanism you choose to use.
>
> Having said that, I have to agree with you that contained objects are the
> most common supporting mechanism for a delegation and probably the most
> logical to use.

Delegates is about: pass the work for another. That's it.
I can do that using only classical object composition. But Object
Pascal have this cool feature that I can write less and the design is
really good.
So, I would like to use it. But if I need to know everty
implementation for all my classes, to know if I can or not use as a
"contained" or "aggregate" object... this is wrong.

> As I said I do not see a rabbit hole that it was created by the compiler or
> the language nor I think that the compiler should constrain you to one
> mechanism.

Really?

Best regards,
Marcos Douglas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to