Jump to content

  • Log In with Google      Sign In   
  • Create Account

Do you call this as "object related design"?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
6 replies to this topic

#1 tom_mai78101   Members   -  Reputation: 577

Like
0Likes
Like

Posted 10 July 2013 - 05:17 AM

I'm going to use Java as an example. Any text in between quotation marks can be taken with a grain of salt, because I'm not sure what verb fits in those quotation marks.

 

There are three objects: House, Resident, and Car.

 

These three objects are not object-oriented in anyway possible. However, they are "related" when placed together like this:

 

yudoltl.png

 

That just makes them related by package name. Going further, we can make them a bit more "related" to one another like this:

 

HtByH7I.png

 

Ignoring the methods above, and just looking at the variables, we can see that a House object have 3 Residents, and 2 cars. And since the Car object needs a Resident as its owner, it implies Resident have Car within their scopes.

 

Thus we can get:

 

House > Resident > Car

 

I was looking around on Google the other day, searching around forums and stuffs, and was wondering what this "relation" is called. Some call it the "top down approach", while others disagree with it, and said it has nothing to do with designing a program.

 

What is it really called? And how do you use it (best practices)?



Sponsor:

#2 NightCreature83   Crossbones+   -  Reputation: 3033

Like
0Likes
Like

Posted 10 July 2013 - 05:48 AM

This is called a HAS-A relationship and is different from IS-A, IS-A implies inheritance where as HAS-A implies ownership. Aggregation is the other name for this relationship under which you can also find information.

 

HAS-A is usually more important then IS-A. see this example

class Leg
{
}
 
class Chair
{
    Leg m_legs[4];
}

In the case of Chair you wouldn't inherit from Leg but it is clear that it has 4 legs in this case, Chair owns it's legs and as such has legs. And that is exactly where the name HAS-A relationship comes from, and UML expresses this with a line that ends in a diamond with a number or star above it.

 

http://en.wikipedia.org/wiki/Has-a


Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, Mad Max

#3 tom_mai78101   Members   -  Reputation: 577

Like
0Likes
Like

Posted 10 July 2013 - 07:42 AM

Ah! I kept forgetting about this. sad.png Thanks.



#4 rip-off   Moderators   -  Reputation: 8737

Like
0Likes
Like

Posted 10 July 2013 - 08:02 AM

In future, please paste code into the forums using the editor features. You get a neat, syntax highlighted and scrollable box:

public class Example {
 
    private int whatever;
 
    public Example(int whatever) {
        this.whatever = whatever;
    }
 
    public int frobnicate(int foo, int bar) {
        return foo + (bar * whatever);
    }
 
    // Etc...
}

You can also manually use tags around the code if you find the WSYISYG editor a bit annoying.

 

Images are bad for code, they aren't searchable, we cannot paste it into our local editors, might be difficult to read on a mobile device, etc.

 

 

 

 



#5 NightCreature83   Crossbones+   -  Reputation: 3033

Like
0Likes
Like

Posted 10 July 2013 - 08:25 AM

In future, please paste code into the forums using the editor features. You get a neat, syntax highlighted and scrollable box:

public class Example {
 
    private int whatever;
 
    public Example(int whatever) {
        this.whatever = whatever;
    }
 
    public int frobnicate(int foo, int bar) {
        return foo + (bar * whatever);
    }
 
    // Etc...
}

You can also manually use tags around the code if you find the WSYISYG editor a bit annoying.

 

Images are bad for code, they aren't searchable, we cannot paste it into our local editors, might be difficult to read on a mobile device, etc.

I actually found that the WYSIWYG editor doesn't always load so on slower connections your are stuck with the [ code ] [ /code ] tags.


Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, Mad Max

#6 rip-off   Moderators   -  Reputation: 8737

Like
1Likes
Like

Posted 10 July 2013 - 09:26 AM

If it isn't already a known issue, might be worth highlighting that in the GDNet suggestions forum. Personally, I like using the markup directly, my experience with the WYSIWYG editor is often one of frustration.



#7 tom_mai78101   Members   -  Reputation: 577

Like
0Likes
Like

Posted 10 July 2013 - 09:55 AM

Okay.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS