日期:2014-05-17  浏览次数:21044 次

请问这是什么设计模式?

service.cs文件
public static class service
{
  private static 接口A _A;
  public static 接口A A
  {
      get { return _A?? (_A= new AA()); }
  }

  private static 接口B _B;
  public static 接口B B
  {
      get { return _B?? (_B= new BB()); }
  }
 
  .....
}

============================================================
public class AA:接口A
{
     public bool Insert(实体 _实体)
    {
        return _AAA.Insert(_实体);
    }
     public bool Delete(实体 _实体)
    {
        return _AAA.Delete(_实体);
    }
    ...
}

public class BB:接口B
{
     public bool Insert(实体 _实体)
    {
        return _BBB.Insert(_实体);
    }
     public bool Delete(实体 _实体)
    {
        return _BBB.Delete(_实体);
    }
    ...
}
...
============================================================
public static class _AAA
{
     public bool Insert(实体 _实体)
     {
        //具体的dal层的sql实现
     }

     public bool Delete(实体 _实体)
     {
        //具体的dal层的sql实现
     }
     ...
}
public static class _BBB
{
     public bool Insert(实体 _实体)
     {
        //具体的dal层的sql实现
     }

     public bool Delete(实体 _实体)
     {
        //具体的dal层的sql实现
     }
     ...
}
...
===========================================================
接口文件:
interface 接口A
{
    bool Insert(实体 _实体);
    bool Delete(实体 _实体);
    ...
}
interface 接口B
{
    bool Insert(实体 _实体);
    bool Delete(实体 _实体);
    ...
}

==========================================================

具体使用的时候是这么使用:service._A.Insert(实体);

请问这是工厂方法模式么?还是代理模式? 谢谢指教