SSWUGtv
With Stephen Wynkoop
Be sure to check out this edition of SSWUGtv where Devin Knight provides some great tips when selecting a Reporting Tool for your application.
Check it Out!
Model Drive Design and Data Driven Design
Recently I have been discussing the merits of each of these application design methodologies. Many people are not even aware that there is a formalized process …they just do one or the other naturally. Others are strong advocates of one method or the other, and they are seen as competing techniques. So, not to leave anyone out, lets start with a quick description of each method.
Model Driven Design (MDD) starts with your application and the business logic it needs to perform. Classes are designed and methods of interaction are created without consideration of data persistence in any form.
Data Driven Design (DDD) starts with the data necessary to persist your application. If using a relational database, tables are designed for your application. Classes are extracted from the tables enabling persistence. Application classes are then built on top of the persistence layer, perhaps with some variance, but more closely linked to the database design.
The difference between the two design models is that using Model Driven Design the developer must somehow link the business objects to those necessary to do persistence. With Data Driven Design, linking is only necessary when business objects must be modified beyond that already exposed in the data design.
Notice that I did not title this editorial Model Drive Design vs. Data Driven Design. This is intentional as neither options is superior for every circumstance. Different products have emerged supporting either one or even both models.
This week I will be delving into these two different design methodologies at a high level and trying to bring out the strengths of each technique, and questions you might ask to determine which is best for any given project.
I know this is a skill many of our readers have perfected over the years…so please feel free to write in with any contributions to the topic at my email, btaylor@sswug.org.
I’d love to hear about tools you are using for either technique such as NHibernate, Entity Framework, netTiers, Linq2SQL, etc. Even though I primarily focus on the Dot Net stack, don’t hesitate to share other tools for Java or other tools you use. Those examples were only ORM tools or frameworks. Don’t feel restricted to that layer…there may be design tools you appreciate that optimize your development which you would like to share as well.
Cheers,
Ben
$$SWYNK$$
Featured Article(s)
DB2 Buffer Pool Essentials (Part 2)
If you use DB2 for z/OS as your database management system you know that you need to keep a watchful eye on your memory. DB2 just loves memory. Some might say that the more memory you throw at DB2, the better. But simply adding more and more memory to your DB2 buffer pools is not always the best approach though. The issue is more about how to practically manage the memory at DB2’s disposal.
Featured White Paper(s)
Key Management in the Multi-Platform Environment
Written by Townsend Security
This White Paper discusses the challenges … (read more)