Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #9813 > unrolled thread
| Started by | Sean Mitchell <sean@mitchwood.com> |
|---|---|
| First post | 2011-11-09 18:33 -0800 |
| Last post | 2011-11-16 09:15 -0800 |
| Articles | 5 on this page of 25 — 9 participants |
Back to article view | Back to comp.lang.java.programmer
equals(), Sets, Maps, and degrees of equality Sean Mitchell <sean@mitchwood.com> - 2011-11-09 18:33 -0800
Re: equals(), Sets, Maps, and degrees of equality Owen Jacobson <angrybaldguy@gmail.com> - 2011-11-09 22:10 -0500
Re: equals(), Sets, Maps, and degrees of equality v_borchert@despammed.com (Volker Borchert) - 2011-11-10 04:42 +0000
Re: equals(), Sets, Maps, and degrees of equality Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-11-09 22:11 -0500
Re: equals(), Sets, Maps, and degrees of equality markspace <-@.> - 2011-11-09 22:43 -0800
Re: equals(), Sets, Maps, and degrees of equality Sean Mitchell <sean@mitchwood.com> - 2011-11-10 06:33 -0800
Re: equals(), Sets, Maps, and degrees of equality markspace <-@.> - 2011-11-10 07:21 -0800
Re: equals(), Sets, Maps, and degrees of equality Sean Mitchell <sean@mitchwood.com> - 2011-11-10 07:29 -0800
Re: equals(), Sets, Maps, and degrees of equality markspace <-@.> - 2011-11-10 10:27 -0800
Re: equals(), Sets, Maps, and degrees of equality Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-11-10 20:58 -0500
Re: equals(), Sets, Maps, and degrees of equality markspace <-@.> - 2011-11-10 19:07 -0800
Re: equals(), Sets, Maps, and degrees of equality Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-11-10 23:24 -0500
Re: equals(), Sets, Maps, and degrees of equality markspace <-@.> - 2011-11-10 20:55 -0800
Re: equals(), Sets, Maps, and degrees of equality Sean Mitchell <sean@mitchwood.com> - 2011-11-11 10:27 -0800
Re: equals(), Sets, Maps, and degrees of equality Lew <lewbloch@gmail.com> - 2011-11-11 14:21 -0800
Re: equals(), Sets, Maps, and degrees of equality Sean Mitchell <sean@mitchwood.com> - 2011-11-10 06:31 -0800
Re: equals(), Sets, Maps, and degrees of equality Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-11-10 11:27 -0800
Re: equals(), Sets, Maps, and degrees of equality Roedy Green <see_website@mindprod.com.invalid> - 2011-11-10 16:01 -0800
Re: equals(), Sets, Maps, and degrees of equality Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2011-11-11 09:08 +0000
Re: equals(), Sets, Maps, and degrees of equality Lew <lewbloch@gmail.com> - 2011-11-11 07:27 -0800
Re: equals(), Sets, Maps, and degrees of equality Sean Mitchell <sean@mitchwood.com> - 2011-11-11 10:28 -0800
Re: equals(), Sets, Maps, and degrees of equality Lew <lewbloch@gmail.com> - 2011-11-11 14:22 -0800
Re: equals(), Sets, Maps, and degrees of equality markspace <-@.> - 2011-11-11 15:19 -0800
Re: equals(), Sets, Maps, and degrees of equality Lew <lewbloch@gmail.com> - 2011-11-13 21:18 -0800
Re: equals(), Sets, Maps, and degrees of equality Lew <lewbloch@gmail.com> - 2011-11-16 09:15 -0800
Page 2 of 2 — ← Prev page 1 [2]
| From | Sean Mitchell <sean@mitchwood.com> |
|---|---|
| Date | 2011-11-11 10:28 -0800 |
| Message-ID | <4d65ddbc-fe11-47e5-bdb1-cefca729f8f5@p5g2000vbm.googlegroups.com> |
| In reply to | #9847 |
On Nov 11, 10:27 am, Lew <lewbl...@gmail.com> wrote:
> >> consider a class Dog:
> >> public class Dog {
> >> String breed;
> >> String name;
> >> String age;
> >> }
> >> I may want to have a Set<Dog>, which holds only one Dog of each breed,
>
> This is terrible modeling.
Really. Why?
[toc] | [prev] | [next] | [standalone]
| From | Lew <lewbloch@gmail.com> |
|---|---|
| Date | 2011-11-11 14:22 -0800 |
| Message-ID | <16879805.1372.1321050142818.JavaMail.geo-discussion-forums@prew38> |
| In reply to | #9853 |
On Friday, November 11, 2011 10:28:35 AM UTC-8, Sean Mitchell wrote:
> On Nov 11, 10:27 am, Lew <lewb...@gmail.com> wrote:
>
> > >> consider a class Dog:
> > >> public class Dog {
> > >> String breed;
> > >> String name;
> > >> String age;
> > >> }
> > >> I may want to have a Set<Dog>, which holds only one Dog of each breed,
> >
> > This is terrible modeling.
>
> Really. Why?
Because you want to use 'Dog' to model 'Breed', and they aren't the same thing at all.
--
Lew
[toc] | [prev] | [next] | [standalone]
| From | markspace <-@.> |
|---|---|
| Date | 2011-11-11 15:19 -0800 |
| Message-ID | <j9kain$mc5$1@dont-email.me> |
| In reply to | #9860 |
On 11/11/2011 2:22 PM, Lew wrote: > Because you want to use 'Dog' to model 'Breed', and they aren't the same thing at all. That's what I'm getting too form Andreas and Eric. Breeds are discreet things that ought to be first class objects in a design like this. Modeling them as just String seems sub-optimal. It's about as bad as modeling Zip codes as strings or ints. You can, sure, but why not apply a type to it? Zip codes have just enough structure and invariants that strings or ints are almost certainly too loosey-goosey. It's taken me a little bit to understand what they've been talking about because the original design was straight forward and simple, but the original design is probably wrong too for anything besides a throw away example. >>>> Sean Mitchell wrote: >>>>> I may want to have a Set<Dog>, which holds only one Dog of each breed, >> On Nov 11, 10:27 am, Lew<lewb...@gmail.com> wrote: >>> This is terrible modeling. > On Friday, November 11, 2011 10:28:35 AM UTC-8, Sean Mitchell wrote: >> Really. Why? On 11/11/2011 2:22 PM, Lew wrote: > Because you want to use 'Dog' to model 'Breed', and they aren't the same thing at all.
[toc] | [prev] | [next] | [standalone]
| From | Lew <lewbloch@gmail.com> |
|---|---|
| Date | 2011-11-13 21:18 -0800 |
| Message-ID | <9303418.406.1321247893311.JavaMail.geo-discussion-forums@prgt40> |
| In reply to | #9860 |
Lew wrote:
> Sean Mitchell wrote:
>> Lew wrote:
>>
>>>>> consider a class Dog:
>>>>> public class Dog {
>>>>> String breed;
>>>>> String name;
>>>>> String age;
>>>>> }
>>>>> I may want to have a Set<Dog>, which holds only one Dog of each breed,
>>>
>>> This is terrible modeling.
>>
> > Really. Why?
>
> Because you want to use 'Dog' to model 'Breed', and they aren't the same thing at all.
Also, "age" is not purely an attribute of 'Dog', but of 'Dog' plus "now". It makes no sense to store an age that will be obsolete the instant it's stored. Rather, store the birthday.
--
Lew
[toc] | [prev] | [next] | [standalone]
| From | Lew <lewbloch@gmail.com> |
|---|---|
| Date | 2011-11-16 09:15 -0800 |
| Message-ID | <27229537.1431.1321463724402.JavaMail.geo-discussion-forums@prap37> |
| In reply to | #9946 |
public interface Kennel
{
void addClient(Client client);
void removeClient(Client client);
boolean isClient(Client client);
void addDog(Client client, Dog dog);
void removeDog(Client client, Dog dog);
boolean hasDog(Client client, Dog dog);
Set<Dog> getDogs(Client client);
Set<Client> getClientele();
Set<Breed> getBreeds();
Set<Dog> getAllDogs();
}
public interface Client
{
String getId();
}
public interface Breed
{
String getId();
}
public interface Dog
{
String getId();
Breed getBreed();
Client getOwner();
Calendar getBirthday();
}
--
Lew
[toc] | [prev] | [standalone]
Page 2 of 2 — ← Prev page 1 [2]
Back to top | Article view | comp.lang.java.programmer
csiph-web