Talk:Video rental system
(10 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
Made page. put up pics. --[[User:Jason Clutterbuck|Jason Clutterbuck]] 05:18, 17 July 2008 (UTC) | Made page. put up pics. --[[User:Jason Clutterbuck|Jason Clutterbuck]] 05:18, 17 July 2008 (UTC) | ||
− | Sounds like fun lecture. I missed this lecture cause I thought I wont be taking this paper. But I am back now! Anyway, after I look at the latest design, isn't it better to have PhysicalHolding Class as an abstract class? PhysicalHolding has to be in a form of VCR or DVD or something else (BlueRay, etc) | + | Sounds like fun lecture. I missed this lecture cause I thought I wont be taking this paper. But I am back now! Anyway, after I look at the latest design, isn't it better to have PhysicalHolding Class as an abstract class? To exist, a PhysicalHolding object has to be in a form of VCR or DVD or something else (BlueRay, etc) objects so PhysicalHolding itself is a concept, not a real object. Thus I think PhysicalHolding class should be shown as an abstract class. -- [[User:Johannes Pagwiwoko|Jojo]] 15:20, 18 July 2008 |
+ | |||
+ | Agreed -- [[User:David Thomson|David Thomson]] 23:17, 20 July 2008 (UTC) | ||
+ | |||
+ | Abstraction achieved --[[User:Jason Clutterbuck|Jason Clutterbuck]] 10:00, 21 July 2008 (UTC) | ||
+ | |||
+ | '''Hey guys, check out Riel's heuristic #5.7 --[[User:Warwick Irwin|Wal]] 01:48, 21 July 2008 (UTC)''' | ||
+ | |||
+ | We might be getting to the point where we might need more detailed requirements to improve much further, but I'm questioning the use of enums for DVD zone and Title genre. Riel's heuristic #5.12 (and #5.13) suggest that if we need to branch off the values of these for any reason that we should create class hierarchies and use polymorphism instead. Again, I think it depends on how they are used. If genre is only ever used to display a string for example, then I doubt it would be necessary (or useful). --[[User:Kris Nicholson|Kris]] 23:50, 21 July 2008 (UTC) | ||
+ | |||
+ | |||
+ | Hey last week in class I came up with a different idea to the Video setup. Basically the "Video"-class is the Superclass. "DVD" and "VCR" are Subclasses of "Video" since they contain all general Attributes and Methods of Video but might have certain specific Attributes and Methods as well. And every "DVD" or "VCR" has 0...* "physical_Items". What do you think? --[[User:Dominic Winkler|Dom]] 00:50, 23 July 2008 (UTC) | ||
+ | |||
+ | [[Image:OO_VideoRental.png]] | ||
+ | |||
+ | On that diagram you have two "physical_item" classes. Are these the same classes, or different? If they are the same then every physical item has the same attributes/methods, which does not seems right. You could say that a physical item only has a code but then what would happen if you wanted to store say the surface condition of a particular (physical) DVD, where would you put it? You couldn't put it in the DVD class, but if you put it in the physical_item class, you would have VCR's with a surface condition variable. Assuming they are different eg physical_dvd and physical_vcr that seems redundant because you have already separated the concepts with the subclass of video (title). If you wanted to add a new class (Blu-ray?) you would have to make two new classes, BluRay and physical_BlueRay. Of course these are just my thoughts feel free to object/correct me! --[[User:David Thomson|David Thomson]] 02:03, 23 July 2008 (UTC) | ||
+ | |||
+ | Basically those "physical_Item" classes were supposed to be 2 different classes, so like you said a "physical_DVD" class, a "physical_VCR" class and so on. I guess you are right there is a bit of a problem with redundancy...--[[User:Dominic Winkler|Dom]] 05:27, 23 July 2008 (UTC) |
Latest revision as of 05:27, 23 July 2008
Made page. put up pics. --Jason Clutterbuck 05:18, 17 July 2008 (UTC)
Sounds like fun lecture. I missed this lecture cause I thought I wont be taking this paper. But I am back now! Anyway, after I look at the latest design, isn't it better to have PhysicalHolding Class as an abstract class? To exist, a PhysicalHolding object has to be in a form of VCR or DVD or something else (BlueRay, etc) objects so PhysicalHolding itself is a concept, not a real object. Thus I think PhysicalHolding class should be shown as an abstract class. -- Jojo 15:20, 18 July 2008
Agreed -- David Thomson 23:17, 20 July 2008 (UTC)
Abstraction achieved --Jason Clutterbuck 10:00, 21 July 2008 (UTC)
Hey guys, check out Riel's heuristic #5.7 --Wal 01:48, 21 July 2008 (UTC)
We might be getting to the point where we might need more detailed requirements to improve much further, but I'm questioning the use of enums for DVD zone and Title genre. Riel's heuristic #5.12 (and #5.13) suggest that if we need to branch off the values of these for any reason that we should create class hierarchies and use polymorphism instead. Again, I think it depends on how they are used. If genre is only ever used to display a string for example, then I doubt it would be necessary (or useful). --Kris 23:50, 21 July 2008 (UTC)
Hey last week in class I came up with a different idea to the Video setup. Basically the "Video"-class is the Superclass. "DVD" and "VCR" are Subclasses of "Video" since they contain all general Attributes and Methods of Video but might have certain specific Attributes and Methods as well. And every "DVD" or "VCR" has 0...* "physical_Items". What do you think? --Dom 00:50, 23 July 2008 (UTC)
On that diagram you have two "physical_item" classes. Are these the same classes, or different? If they are the same then every physical item has the same attributes/methods, which does not seems right. You could say that a physical item only has a code but then what would happen if you wanted to store say the surface condition of a particular (physical) DVD, where would you put it? You couldn't put it in the DVD class, but if you put it in the physical_item class, you would have VCR's with a surface condition variable. Assuming they are different eg physical_dvd and physical_vcr that seems redundant because you have already separated the concepts with the subclass of video (title). If you wanted to add a new class (Blu-ray?) you would have to make two new classes, BluRay and physical_BlueRay. Of course these are just my thoughts feel free to object/correct me! --David Thomson 02:03, 23 July 2008 (UTC)
Basically those "physical_Item" classes were supposed to be 2 different classes, so like you said a "physical_DVD" class, a "physical_VCR" class and so on. I guess you are right there is a bit of a problem with redundancy...--Dom 05:27, 23 July 2008 (UTC)