1、单例模式,饿汉式与懒汉式的综合使用
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 Console.WriteLine("此时没有输出“构造函数”"); 6 Singleton s1 = Singleton.getInstance(); 7 Console.WriteLine("输出“构造函数”完成了"); 8 } 9 } 10 public class Singleton 11 { 12 private Singleton() 13 { 14 Console.WriteLine("构造函数"); 15 } 16 17 private static class HolderClass 18 { 19 public readonly static Singleton instance = new Singleton(); 20 } 21 22 public static Singleton getInstance() 23 { 24 return HolderClass.instance; 25 } 26 }
/////////////////2016-03-15 21:00
2、简单工厂模式和工厂模式的区别
简单模式,只有一个工厂,根据特定的参数,返回相应的处理类(一般是处理类的接口,接口类或抽象类)
工厂模式,有多个工厂,继承自同一个工厂接口(类),一般定义一个xml文件用于配置反射出的工厂类的类型,通过反射动态生成工厂类,然后调用工厂类的基类接口方法,最终产出需要的类。
3、工厂模式和抽象工厂的模式的区别
工厂模式需要针对每个最终需要的产品,都生成一个相应的工厂类。所以整个项目会很大。
抽象工厂模式,是针对一个产品簇的,简单来说就是 抽象工厂类的子类,可以生成一个完整的产品(此模式更适用于最终需要的产品是一个复杂类的,就是里边还有其他类的)。
工厂模式使用示例:日志组件,基本上就一个大类就可以了
抽象工厂使用示例:皮肤组件,一个皮肤里边包含多个Control类,例如TextBox,Button等。抽象工厂的每个子类就需要实现把整个皮肤组件,包括里边的TextBox都生成出来的方法,即每一个具体的工厂,生产一个皮肤组件。
继续更新中。。。。。。