The moose likes OO, Patterns, UML and Refactoring and the fly likes Different Navigabilities? Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Reply Bookmark "Different Navigabilities?" Watch "Different Navigabilities?" New topic
Author

Different Navigabilities?

Desai Sandeep
Ranch Hand

Joined: Apr 02, 2001
Posts: 1157
Hi,

Excerpt from Martin Fowler, UML Distilled, Chapter 4, Associations, Page 55
[..]Note also that the navigabilities are likely to be different between specification and implementation.

Please look at my next post for my queries.
Thanks in advance,
Sandeep

<b>Sandeep</b> <br /> <br /><b>Sun Certified Programmer for Java 2 Platform</b><br /> <br /><b>Oracle Certified Solution Developer - JDeveloper</b><br /><b>-- Oracle JDeveloper Rel. 3.0 - Develop Database Applications with Java </b><br /><b>-- Object-Oriented Analysis and Design with UML</b><br /> <br /><b>Oracle Certified Enterprise Developer - Oracle Internet Platform</b><br /><b>-- Enterprise Connectivity with J2EE </b><br /><b>-- Enterprise Development on the Oracle Internet Platform </b>
Desai Sandeep
Ranch Hand

Joined: Apr 02, 2001
Posts: 1157
I am not very sure what Martin meant by this.I am taking the same Order and Customer example which he uses to explain.
Say in the Specification prespective, the navigability is from Order to Customer only,i.e., Order has the responsibility to tell us, which Customer it is for.
Now at the implementation stage, we realize, it is better that the Customer takes the responsibility to tell us about the Order, since he should also have the authority to update the association, like cancelling the Order, changing the Order, so on and so forth.If we start implementing in this way, the navigability is changed now from Customer to Order.
Is this what Martin meant by change in navigability in the two perspectives?
Thanks in advance,
Sandeep
Desai Sandeep
Ranch Hand

Joined: Apr 02, 2001
Posts: 1157
Refresh please.
Thanks,
Sandeep
Junilu Lacar
Ranch Hand

Joined: Feb 26, 2001
Posts: 3008
Sandeep,
Go back to page 54. Quote: "...responsibilities do not imply data structure, however. From a specification-level diagram, I can make no assumptions about the data structure of the classes...The diagram indicates only the interface--nothing more."
Put in another way: The contract (specification) is for Order to know the Customer. However, when you implement, there may be some constraints--perhaps due to the language you use or platform, whatever--that make it necessary to have Order point to Customer and Customer point to Order. The contract remains the same though since no new responsibilities have been identified.
If, however, during the course of implementation, you realize that a new responsibility has been identified, that new responsibility should be reflected in the specification-level diagram.
Junilu

Junilu
[How to Ask Questions] [How to Answer Questions] [MiH]
Desai Sandeep
Ranch Hand

Joined: Apr 02, 2001
Posts: 1157
Originally posted by JUNILU LACAR:
If, however, during the course of implementation, you realize that a new responsibility has been identified, that new responsibility should be reflected in the specification-level diagram.

If the above happens, does it mean we reflect the change in the implementation-level Class Diagram OR specification-level Class Diagram?
Am puzzled, since Fowler says "Note also that the navigabilities are likely to be different between specification and implementation."
This means you may have Class Diagrams in the implementation-level not in sync with specification-level.If the navigabilities is changed/added in the implementation-level, it means that new responsibilities have been discovered and also that the specification-level contract is broken.So what happens to the responsibilities identified in the original specification contract?
I believe it should be the navigabilities should be same between specification and implementation.
Thanks,
Sandeep
[This message has been edited by Desai Sandeep (edited May 29, 2001).]
 
 
subject: Different Navigabilities?
 
Threads others viewed
++b + b++ and b++ + ++b
Every rectangle has a square!
Forwarding to another application with the request object
package vs directory
Printing in Java
developer file tools

cast iron skillet 49er

more from paul wheaton's glorious empire of web junk: cast iron skillet diatomaceous earth rocket mass heater sepp holzer raised garden beds raising chickens lawn care CFL flea control missoula heat permaculture