設計模式的簡單問題
1.DataBase.cs
using System;
namespace DBDLL
{
/// <summary>
/// DataBase の概要の説明です。
/// </summary>
public abstract class DataBase
{
public DataBase()
{
//
// TODO: コンストラクタ ロジックをここに追加してください。
//
}
public abstract Connection CreateConnection();
public abstract DataReader CreateDataReader();
}
}
2.SqlDataBase.cs
using System;
using System.Data;
using System.Data.SqlClient;
namespace DBDLL
{
/// <summary>
/// SqlDataBase の概要の説明です。
/// </summary>
public class SqlDataBase:DataBase
{
public SqlDataBase()
{
//
// TODO: コンストラクタ ロジックをここに追加してください。
//
}
public override Connection CreateConnection()
{
return new SqlConnection();
}
public override DataReader CreateDataReader()
{
return new SqlDataReader();
}
}
}
3.OracleDataBase.cs
using System;
namespace DBDLL
{
/// <summary>
/// OracleDataBase の概要の説明です。
/// </summary>
public class OracleDataBase:DataBase
{
public OracleDataBase()
{
//
// TODO: コンストラクタ ロジックをここに追加してください。
//
}
}
}
------解决方案--------------------有点像 模板方法模式
------解决方案--------------------有什么用处?封装了等于没封装。
------解决方案--------------------想的挺好,封装sqlserver和oracle database,开始我也这么做过,但是后来发现根本多余的.
------解决方案--------------------这是设计模式吗?我不知道你用的是什么设计模式?充其量就是做了个虚拟类,然后在其子类中实现一下父类的方法,回去好好看看书吧,对了,你是鬼子吗?