Clemens and Roy are having a conversation about when it is appropriate to to expose DataSets out to other layers of your system. As Clemens puts it, “Ideally, you don't expose the DataSet and hide that fact that you use it.”
Let’s see if I understand…
To put it more generally, you don’t want to leak the programming model from one layer to the next. The absolute lowest common denominator between layers is of course InfoSet (XML InfoSet, really) and that’s what you want your layers to exchange. But looking at the issue from a practical standpoint, I wonder if it is such a big sin to extend InfoSet with metadata understandable only to a particular programming model. By doing so, you make it easier to cross layers that share the programming model. For example, what’s wrong with making an interface return InfoSet that is enriched with some special metadata understandable by, say, DataSet?
|
|