在petshop4.0中也用到了几个常用的设计模式:简单工厂模式,工厂方法模式,策略模式,并附之返射与配置文件.下面就来用我自己的理解用大白话说出来.

1.简单工厂模式.

 比如A与B一起写代码,A负责前台,B负责后台,B写了两个类:X与Y,A负责调用,那么1.A怎么知道B写了X与Y两个类呢?2.B又增加了Z 类怎么办,3.A在代码里写了n个X x = new X(), B把X类改名或重写了怎么办.为了解决这些困难,就提出了简单工厂模式,说白了,有一个基类或接口,然后n个类从它继承,再写一个类作为工厂,里面有个静 态方法负责根据转入参数的不同返回从基类或接口继承的具体对象:


 public interface IPerson  
 {  
     
string GetName();  
 }  
   
 
public class Kernel : IPerson  
 {  
     
public string GetName()  
     {  
         
return "Kernel";  
     }  
 }  
   
 
public class Json : IPerson  
 {  
     
public string GetName()  
     {  
         
return "Json";  
     }  
 }  
   
 
public class PersonFactory  
 {  
     
public static IPerson CreateInstance(string name)  
     {  
         
string path = ConfigurationManager.AppSettings["AssemblyName"];  
         
string className = "";  
         
switch (name)  
         {  
             
case "kernel":  
                 className 
= ConfigurationManager.AppSettings["kernelClass"];  
                 
break;  
             
default:  
                 className 
= ConfigurationManager.AppSettings["JsonClass"];  
                 
break;  
         }  
         
return Assembly.Load(path).CreateInstance(className) as IPerson;  
     }  
 }  
   
 
static void Main(string[] args)  
     {  
         IPerson p1 
= PersonFactory.CreateInstance("kernel");  
         Console.WriteLine(p1.GetName());  
         IPerson p2 
= PersonFactory.CreateInstance("Json");  
         Console.WriteLine(p2.GetName());  
         Console.ReadKey();  
     }

相关文章:

  • 2021-06-20
猜你喜欢
  • 2021-11-20
  • 2021-10-31
  • 2021-12-06
  • 2021-07-23
  • 2021-05-23
相关资源
相似解决方案