<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Using the cognitive dimensions - working framework</title><link>http://blogs.msdn.com/stevencl/archive/2003/12/03/57112.aspx</link><description>&amp;#160; The next installment in using the cognitive dimensions... For each user goal that the API supports, describe the minimum amount of information that the user needs to maintain while working with the API. This is different to the learning style which</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>RE: Using the cognitive dimensions - working framework</title><link>http://blogs.msdn.com/stevencl/archive/2003/12/03/57112.aspx#57113</link><pubDate>Fri, 05 Dec 2003 19:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:57113</guid><dc:creator>Frank Hileman</dc:creator><description>Could you clarify the &amp;quot;system&amp;quot; working framework a bit. Does it mean, using other namespaces? Or internal state from internal global or static variables (static in the C# sense, shared)? If the information is not maintained in the code or the API, then where might it be?</description></item><item><title>RE: Using the cognitive dimensions - working framework</title><link>http://blogs.msdn.com/stevencl/archive/2003/12/03/57112.aspx#57114</link><pubDate>Fri, 05 Dec 2003 22:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:57114</guid><dc:creator>Steven Clarke</dc:creator><description>If an API requires that a developer makes use of APIs defined in other namespaces, or needs to create and maintain internal or global variables to be able to use the API, this would be a good example of an API that demands a working framework that is somewhere between global to system level.

An example of a system level working framework would be when you're using an API to retrieve data from a database and the database schema is not represented in the API (e.g., such as when using untyped datasets). In this case, you have to keep in mind the schema of the data you are working with.

APIs that have a system level working framework offer certain advantages - for example, they may be more loosely coupled to components that they depend on than APIs that have more of a local working framework. In the case of the untyped dataset, they offer the flexibility that you can work with data for which no known schema is available until you actually retrieve the data or when working with data that has a dynamic structure.

Some developers prefer the flexibility and power offered by APIs that have a system level working framework while others may trade off flexibility and power if it means they do not have to concern themselves so much with the details of other components that their code depends upon.</description></item></channel></rss>