介绍
为一个API进行定义和实现的分离。
示例
有一个Message实体类,对它的操作有Insert()和Get()方法,持久化数据在SqlServer数据库中或Xml文件里。根据配置文件中的配置来决定数据持久化方案是使用SqlServer数据库还是Xml文件。

MessageModel
MessageProvider
SqlMessageProvider
XmlMessageProvider
MessageProviderCollection
MessageProviderConfigurationSection
Message
Web.config

<?
xml version="1.0" encoding="utf-8"
?>

<
configuration
>

<
configSections
>

<
section
name
="MessageProvider"
type
="Pattern.Provider.MessageProviderConfigurationSection, Pattern.Provider"
/>

</
configSections
>

<
MessageProvider
defaultProvider
="SqlMessageProvider"
>

<
providers
>

<
add
name
="XmlMessageProvider"
type
="Pattern.Provider.XmlMessageProvider, Pattern.Provider"
connectionStringName
="XmlConnection"
/>

<
add
name
="SqlMessageProvider"
type
="Pattern.Provider.SqlMessageProvider, Pattern.Provider"
connectionStringName
="SqlConnection"
/>

</
providers
>

</
MessageProvider
>

<
connectionStrings
>

<
add
name
="SqlConnection"
connectionString
="server=.;database=db;uid=sa;pwd=sa"
/>

<
add
name
="XmlConnection"
connectionString
="XmlPath"
/>

</
connectionStrings
>

</
configuration
>
Test
运行结果
True
SQL方式,连接字符串是server=.;database=db;uid=sa;pwd=sa 2007-1-22 8:21:44
OK
[源码下载]