Hi,

I do not think that calling it "collector" does serve it right. A collector 
is something that collects and therefore creates a collection. I don't see 
this applying to the LinkCollectionInterface. A collection however is a 
group of object which do not necessarily need to be of the same type.
I would recommend to stay with calling it a collection as that describes 
its purpose pretty well.

-- Marc

On Wednesday, September 14, 2016 at 7:21:01 PM UTC+2, Andreas Heigl wrote:
>
> Hi All
>
> Am Montag, 12. September 2016 23:22:12 UTC+2 schrieb Larry Garfield:
>>
>> On 09/12/2016 09:40 AM, Matthew Weier O'Phinney wrote: 
>> > On Mon, Sep 12, 2016 at 1:04 AM, Andreas Heigl <and...@heigl.org> 
>> wrote: 
>> >> I have two things I'd like to mention regarding PSR-13: 
>> >> 
>> >> First, for me personally it makes less sense to have a 
>> >> LinkCollectionInterface that doesn't act like I'D expect a Collection 
>> to 
>> >> work. For me a collection is a set of similar items I can then iterate 
>> over. 
>> >> Whether that's a collection of links, headers, or teapots doesn't 
>> matter. So 
>> >> I'd expect an object implementing a CollectionInterface to be iterable 
>> and 
>> >> to already contain the items in question. The current implementation 
>> of the 
>> >> LinkCollectionInterface though looks more like a CollectorInterface. 
>> >> Something that collects linkInterfaces and can return a 
>> >> LinkCollectionInterface. I know it's only a slight difference in 
>> wording, 
>> >> but for me it would make a difference in understanding what happens. 
>> > Thanks for this feedback! Until recently, I didn't typically think of 
>> > collections as requiring iteration, but considering that the 
>> > terminology has definitely been moving in that direction the last few 
>> > years (google for "first-class collection", and you'll see fairly 
>> > consistent definitions!), it may make sense to change the name. I'll 
>> > discuss with Larry today. 
>>
>> Matthew and I brainstormed a bit more.  The only other word we could 
>> come up with that we didn't hate even more than "Collection" was 
>> "Catalog".  Which would then result in: 
>>
>> class Whatever implements LinkCatalogInterface { 
>>
>> } 
>>
>> How do people feel about that?  Is it more/less descriptive than 
>> Collection?  More/less pompous sounding? :-)  A few seconds of Googling 
>> didn't find any existing CS definition of "catalog" that would conflict 
>> with it, FWIW. 
>>
>> We went over the name before and Collection was the best we came up 
>> with.  So I think it's Collection or Catalog at the end of the day. 
>>
>
> I'm always trying to find analogies in the real word for things I want to 
> name. 
>
> For me a catalog is a set of things I am able to get from someone 
> providing that catalog. It never contains actual concrete objects only 
> references to them. The only thing they need to have in common is that they 
> can be obtained from the same source. And I'm usually not ordering 
> everything the catalog has to offer, just a small subset. Trying to match 
> that to the Links I'm stumbling very soon. 
>
> A Collection on the other hand is a set of concrete objects that someone 
> has gathered. And they all have something in common. They are either stamps 
> or teapots or beermats or whatever that someone has gathered. But they are 
> all of the same kind. And the person gathering these items can without 
> problem gather different items. Like a person can collect postcards as well 
> as guitars. Ask that person to show you the postcard-collection (besides 
> from being a happier person) they won't show you a single guitar.
>
>
> So taking that analogy to the links, it's possible to have an object 
> containing links as well as headers. It's a Collector of links *and* 
> headers. To know whether you can get links from the object you'll need a 
> way to tell whether that object collects them. That could be a 
> LinkCollectorInterface that defines a method *getLinkCollection*. Know when 
> I have a concrete implementation of an Object I can check whether it's a 
> LinkCollector and if so I know that I can ask for a LinkCollection. And 
> that LinkCollection can be anything from a complex iterable 
> LinkCollectionObject implementing a LinkCollectionInterface to an array of 
> LinkInterface-implementing objects. The main think is that I get something 
> back that contains LinkInterfaces. 
>
> So I would opt for renaming the LinkCollectionInterface to 
> LinkCollectorInterface and would refrain from calling it a Cataloge.
>
> But that's just my 0,02€
>
> Cheers
>
> Andreas
>
>>
>> --Larry Garfield 
>>
>

-- 
You received this message because you are subscribed to the Google Groups "PHP 
Framework Interoperability Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to php-fig+unsubscr...@googlegroups.com.
To post to this group, send email to php-fig@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/php-fig/9472b271-fbe9-439f-8a38-17023bd53aa2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to