|
|
适配器模式和外观模式:
适配器模式:
所谓适配器模式就是将不兼容的接口想方设法让他兼容,通过继承目标接口的方式来实现,达到兼容的目的,或者说是改变接口。
个人对适配器模式产生的理解:在后续的代码修改和功能扩充的过程中需要通过某个接口的转换,以达到版本的兼容。
以下的例子可能不是很恰当,但是能说明问题:

外观模式和适配器模式很像,但是他的目的并非是兼容,而是简单适用
将一群对象转换为一个简单接口,以方便使用,就是包装了很对对象的接口.
单件模式:
显而易见,单件模式就是只有一个,并且通过私有构造器的方式不能被继承(继承了就不是正真意义上的单件了),在这一点上和静态类是一致的,但是还是有区别的主要是以下2点:
当某个类并不需要由构造器初始化并且不在乎初始化的时间时,2者可以混用!
以下是单件模式的Demo:
/// <summary>
/// 简单的单件模式
/// </summary>
public class Singleton
{
private string name;
private int age;
private static Singleton sin = null;
//私有构造器
private Singleton(string name,int age)
{
this.name = name;
this.age = age;
}
public static Singleton GetSingleton(string name, int age)
{
if (sin == null)
sin = new Singleton(name,age);
return sin;
}
public void ShowInfo()
{
Console.WriteLine(string.Format(@"你好,我是单件,我叫{0},年龄:{1}岁", name, age));
}
}

class Program
{
static void Main(string[] args)
{
Singleton sin = Singleton.GetSingleton("王老五",55);
//第二次无效了
Singleton sin2 = Singleton.GetSingleton("比尔 盖兹",45);
if (sin.Equals(sin2))
Console.WriteLine("我们两个是相同的实例!");
else
Console.WriteLine("我们两个是不相同的实例!");
sin.ShowInfo();
sin2.ShowInfo();
Console.Read();
}
}