感觉这个才是最简单的设计模式有木有!就是把之前的接口再封装一下而已==
当系统的数据和行为都正确,但是接口不符合时,我们应该考虑使用适配器模式,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要用于希望复用一些现有的类,但是接口和复用环境不一致的情况
abstract class Student
{
public abstract void Study();
public abstract void Play();
}
class Xueba:Student
{
public override void Study()
{
Console.WriteLine("学霸 学习");
}
public override void Play()
{
Console.WriteLine("学霸 玩");
}
}
class Xuezha : Student
{
public override void Study()
{
Console.Write("学渣 学习 nono");
}
public override void Play()
{
Console.Write("学渣 玩 nonono");
}
}
class Makeup:Student
{
private Xuezha xz = new Xuezha();
public override void Study()
{
Console.WriteLine("-----补课----");
xz.Study();
}
public override void Play()
{
xz.Play();
Console.WriteLine("?----想都不要想");
}
}
class Program
{
static void Main(string[] args)
{
Student xb = new Xueba();
xb.Play();
xb.Study();
Student xz = new Makeup();
xz.Play();
xz.Study();
Console.Read();
}
}
书上说起来.net中的 DataAdapter用作DataSet与数据源之间的适配器以便检索和保存数据,真的好奇去查了课件
它是DataSet对象和数据源之间的一个桥梁,用于从数据源中检索数据、填充 DataSet对象中的表及对DataSet对象做出的更改提交回数据源
它使用Command对象从数据源中检索数据并将更改提交回数据源,Command对象体现在DataAdapter的SelectCommand、InsertCommand、UpdateCommand 和 DeleteCommand 属性上。
Fill 方法用于在DataSet中添加或更新行以匹配数据库。
Update方法用于利用DataSet中的更改更新数据库。
[例] 使用DataAdapter对象
使用Microsoft SQL Server 数据库的 student数据表来填充 DataSet。然后删除该表中的一条记录,并刷新DataSet和数据源:
string Str = "Data Source=.\\SQLEXPRESS;
Initial Catalog=master;User ID=lrg;pwd=1234";
SqlConnection Con = new SqlConnection(Str);
string comStr = "SELECT * FROM student ;";
SqlCommand Com = new SqlCommand(comStr, Con);
SqlDataAdapter myDA = new SqlDataAdapter();
myDA.SelectCommand = Com;
DataSet myDS = new DataSet();
myDA.Fill(myDS, "student");
Com.CommandText = "DELETE FROM student WHERE SID = '20020109'";
myDA.DeleteCommand = Com;
myDA.Fill(myDS, "student");