I've been playing around with some ideas that I want to drop into a sample application, but I am struggling to find a good domain to base the application in.
My problem seems to be around the ISV side of things, as I want to include and show some of the key aspects of DDD, I need a fairly complex and well defined domain, one that I can for my own amusement pretend to be a domain expert in. DDD is less suited to ISV products than it is to in-house applications.
By their nature ISV products must be highly configurable, the domain must be very flexible to allow clients to put their own business model into the application, rather than stick to one imposed by the ISV. “good” examples of this are products like MS CRM and CAFM programs. In the former each client site will have their own definition of what a contact or lead looks like, and how they progress from one stage to another. In the CAFM example, clients all have different definitions of assets and of how those assets are held and managed.
DDD is fundamentally based around the application mirroring the business’s own business model, and writing code to meet that objective as efficiently and effectively as possible.
So, here are some of my thoughts about they type of application I want to work on, if you have any suggestions, please drop them in a comment, or drop me a line directly. I think I have brain freeze!
- I want to show aspects of ASP.NET MVC, DDD, and OR mapping – therefore initially this will be a web based application.
- The application must have a varied set of rules and user and automated operations
- The application should be of some use after it is written, I would like to start something that could actually be used by businesses, rather than just thrown away. This way it may get it’s own momentum, and evolve.
The domain in which it exists should be fairly well known, so that I can write it without too much research, and developers can understand it without too much of a mind shift.
Some of my varied ideas so far have been:
- A project/story tracker (has this idea been done to death?)
- A help desk application (I’ve written a few of these on the past)
- A facilities management system (is this too generic?)
- A shipping/tracking system to monitor and report on external haulage (this may be too specific to each place)
02-05-2009 8:20 AM