Hello All, I was just doing some reading on Software Product Lines (http://www.softwareproductlines.com/) aka Software Factories (Microsofts name for it: http://msdn.microsoft.com/vstudio/teamsystem/workshop/sf/default.aspx).
It is really just a formalization of what we've all been doing for a while which is using a combination of code generators and/or runtime design patterns in conjunction with meta-data to cut down on how long it takes to write an application. What I was wondering was whether anyone had come up with any formal rules (or rules of thumb) for what to generate in code vs. what to use dynamic patterns to handle? I see a lot of low level comments such as about Arf or Reactor for the DAL, but haven't seen as many higher level comments about what criteria you use to determine which variabilities should be generated vs. which should be implemented at runtime. I would love to hear anyones personal thoughts/experiences - especially anyone who's trying to formalize on a software product lines kind of mindset for generating all of their applications. To start the ball rolling, we use an active generator (the code is just an artifact, non-authoritative) and we store extensive meta data in a database, so on the whole we generate as much as possible upfront into fairly rigid files and just re-run the generator if we want to change any of the meta-data (including business rules). We see a business benefit and a technical benefit. The business benefit is that we can sell our solutions on a work for hire basis and we don't need to worry about "giving away the farm" as our clients only get the artifacts (the code that meets their specific needs) rather than a generic system that in theory would allow them to go into the website development business themselves. Not really a big practical concern, but a nice benefit. The technical benefit is that we assume that all other things being equal, the more we can pre-generate, the better the runtime performance should be. Any ideas/considerations/rules of thumb from others much appreciated! Best Wishes, Peter ---------------------------------------------------------- You are subscribed to cfcdev. To unsubscribe, send an email to [email protected] with the words 'unsubscribe cfcdev' as the subject of the email. CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting (www.cfxhosting.com). An archive of the CFCDev list is available at www.mail-archive.com/[email protected]
