using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;
namespace DesignFactory.Template
{
/// <summary>
/// 模板方法模式
/// </summary>
class TemplateMethod
{
}
abstract class DataObject
{
abstract public void Connect();
abstract public void Select();
abstract public void Process();
abstract public void Disconnnect();
public void Run()
{
Connect();
Select();
Process();
Disconnnect();
}
}
class CustomerDataObject : DataObject
{
private string connectionString = "provider = Microsoft.JET.OLEDB.4.0;" + "data source=c:\\nwind.mdb";
private string commandString;
private DataSet dataSet;
public override void Connect()
{
//Nothing to do
}
public override void Select()
{
commandString = "select CompanyName from Customers";
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(commandString, connectionString);
dataSet = new DataSet();
dataAdapter.Fill(dataSet, "Customers");
}
public override void Process()
{
DataTable dataTable = new DataTable();
foreach (DataRow dataRow in dataTable.Rows)
{
Console.WriteLine(dataRow["CompanyName"]);
}
}
public override void Disconnnect()
{
//nothing to do
}
}
public class TemplateMethodApp
{
public static void Main(string[] args)
{
CustomerDataObject c = new CustomerDataObject();
c.Run();
}
}
}
【设计模式】之 Template 模板方法
最新推荐文章于 2024-09-04 01:26:04 发布