Hi Vlad and David,
Thanks for giving your insights on this.
But I would like to take this opportunity to get your comments on my way of thinking when it comes to requirements, hope you would be patient enough to read through
Recently, I was given this task.
It's a simple inventory system for machines. This is where user can add/edit/delete/transfer/display machines. (There are other transaction, but I had limited it to these transactions)
My usual way of thinking is to think of the behavior of the system and how user will interact. So I always end up representing them in terms of transactions.
Most of the time I find common methods from these transaction so I follow below class hierarchy.
After doing so, this is where I perform Domain Modelling and assign responsibilities to objects. Oftentimes I end up with below class
I often think that this class performs so many task and I think it violates the idiom in OO theory that a class should only have one responsibility.
Could you comment on this? I definitely think that I could improve something in the way of my OO design.