日期:2014-05-19  浏览次数:20779 次

設計模式的簡單問題
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,开始我也这么做过,但是后来发现根本多余的.

------解决方案--------------------
这是设计模式吗?我不知道你用的是什么设计模式?充其量就是做了个虚拟类,然后在其子类中实现一下父类的方法,回去好好看看书吧,对了,你是鬼子吗?