Hi I am working on my part 2 assignment and face a scenario. My assignmnet is an E-commerce system trying to sell a product and there are multiple types of same product, like FlavoredCigar, PetiteCigar etc ,assume all are just different types of Cigar.
BDM shows all these product types as individual classes. While all these products are different assignment, does not have any differential treatment for any of these products.
Also system would need to interface to other merchants through interfaces and I believe even if I have individual classes to represent each product in our system side I would have to use a simile order interface that would take only product type and count for order at max.
With no individual treatment required for each of the product type, for me it makes more sense to have one product interface and one concrete class called product to start with, type of product just becomes an attribute to the class. But this will not match directly to the BDM provided. If all my code operates on the interface my system is still designed to work in future when a new product class that needs a differetial treatment is required?
Any suggestions are welcome.
Sivakumar-SCJP 1.4-SCWCD- IBM Certified SOA associate - SCEA 5
That's a domain model, it has entities and they mean business point of view. In class diagram it is clear that they will be represented by the single object (or their hierarchy of different behavior is needed) with the type
Dmitri Ericsson wrote:That's a domain model, it has entities and they mean business point of view. In class diagram it is clear that they will be represented by the single object (or their hierarchy of different behavior is needed) with the type
Thanks Dmitri, agree with you and thanks for the response, but I do not understand your point with in the brackets can you help to clarify please
Joined: Feb 16, 2010
I meant that if different functionality is needed for different types of some object like cigar, then you probably should create some base cigar class and subclasses for it. But if behavior is common so make just one object with type in it.