views:

35

answers:

1

hi all I would like to know that what considerations we need to do when designing business entities as a software architect?

Any reference or help is appreciated.

+3  A: 
InSane
+1: many thanks.
odiseh
@In Sane - A question for you: wouldn't aspects like concurrency be more of an issue for the solution as opposed to the business objects specifically?
Adrian K
@Adrian K - I think in some cases, the concurrency aspect could be limited to the business objects itself. However, it does depend a lot on the overall design + responsibilities of the business object.
InSane
@Adrian K - In my experience, if you are following a pattern like Expert Pattern - wherein the Business Object themselves own everything related to itself, then the responsibility of knowing that it is stale and then propogating that forward / taking action (maybe reloading itself and then filling in the updated data as long as there is no conflict + saving it) also could belong as part of the business object itself. It is from this aspect that I consider that concurrency detection, and more importantly, how to respond to it, could also be part of the business object design
InSane
@In Sane - Thanks, very helpful. My only other question then is: how would you structure common tasks / functionality that the Business Objects might use to do these things - I assume you'd farm truly generic stuff out to shared helper classes?
Adrian K
@Adrian K - Yes. The Business objects will usually use other classes which provide specific functionality a very basic example is emailing which may be handled via an email manager class. This would result in a bunch of "technical object classes" (if i can call it that) which each perform specific technical tasks supporting the "core business classes"
InSane