Shape class 的Create调用ShapeFactory返回一个Shape class
CreateShape根据传入到shape,使用反射创建一个ShapeFactory的instance,但是只创建一次,并且使用double check来保证多线程安全。所以这里的反射只会在需要的ShapeFactory不存在的时候才会创建,所以只是在第一次创建想要的shape时,才会使用到反射,以后都是直接使用instance
WinShape project: (class library)















































































































































window application:
Form1.Design.cs






Form1.cs











































































