程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 設計模式(C#) - 提供者模式(Provider Pattern)(4)

設計模式(C#) - 提供者模式(Provider Pattern)(4)

編輯:關於C語言

XMLMessageProvider

using System;
using System.Collections.Specialized;
using System.Collections.Generic;

using System.Configuration.Provider;
using System.Configuration;

namespace Pattern.Provider
{
  /**//// <summary>
  /// XMLl方式操作Message
  /// </summary>
  public class XMLMessageProvider : MessageProvider
  {
    private string _connectionString;

    /**//// <summary>
    /// 插入Message
    /// </summary>
    /// <param name="mm">Message實體對象</param>
    /// <returns></returns>
    public override bool Insert(MessageModel mm)
    {
      // 代碼略
      return true;
    }

    /**//// <summary>
    /// 獲取Message
    /// </summary>
    /// <returns></returns>
    public override List<MessageModel> Get()
    {
      List<MessageModel> l = new List<MessageModel>();
      l.Add(new MessageModel("XML方式,連接字符串是" + this._connectionString, DateTime.Now));

      return l;
    }

    /**//// <summary>
    /// 初始化提供程序。
    /// </summary>
    /// <param name="name">該提供程序的友好名稱。</param>
    /// <param name="config">名稱/值對的集合,表示在配置中為該提供程序指定的、提供程序特定的屬性。</param>
    public override void Initialize(string name, NameValueCollection config)
    {
      if (string.IsNullOrEmpty(name))
        name = "MessageProvider";

      if (null == config)
        throw new ArgumentException("config參數不能為null");

      if (string.IsNullOrEmpty(config["description"]))
      {
        config.Remove("description");
        config.Add("description", "XML操作Message");
      }

      base.Initialize(name, config);

      string temp = config["connectionStringName"];
      if (temp == null || temp.Length < 1)
        throw new ProviderException("connectionStringName屬性缺少或為空");

      _connectionString = ConfigurationManager.ConnectionStrings[temp].ConnectionString;
      if (_connectionString == null || _connectionString.Length < 1)
      {
        throw new ProviderException("沒找到'" + temp + "'所指的連接字符串,或所指連接字符串為空");
      }

      config.Remove("connectionStringName");
    }
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved