Arash Barirani is pondering why domain models is so rarely reused. After all they did teach us in school that reuse is one of the big advantages of object orientation. Everyone could see that the Car and Tire objects the teacher used for illustration easily could be reused in another car and tire application.
He still seems to be having some faith in the concept though, and is still wondering how to achieve it. I on the other hand has lost all faith. Well, not all, but most of it. The problem is: Different customers has different views of their domain, even though they might be doing the same stuff.
Some domains like accounting could probably be used across companies. It is strictly defined, and there are common rules for how to account for everything that happens through a year. Other domains like running a big warehouse will not be the same unless both organizations believe in the exactly same way of running their business. Depending on processes and the people in it the domain can be completely different. There might be some similarities, but even the language might be different. And you sure as hell can’t march in there and tell them to change their language and processes just to fit to an existing model.
It depends on the people running it. As they change or leave, the company will need to change too. That’s when you need SOA… Of course not. But you will need a flexible well designed system that copes with change and is easy to maintain.