问题关键如何避免在项目中一直重复写new在软件开发过程中我想大家应该都会碰到这样的问题,在表示层设用业务逻辑层的时候都需要去new一下,而我们在开发过程中都经常需要写大量的new所以在开发中会非常的麻烦;因而我想到了一个设计方案,但是效率我还不能完全的确定,所以希望大家来讨论,或者您是否有更好的设计方案希望可以提出来。我的设计方案如下:
建立一个PageBase基类
在PageBase里面将BLL与Model的new全部写好,BLL层的名称前面都加上BLL,Model层的名称前面都加上Model,然后我们在项目中继承它,这样子我们在整个项目开发过程中直接的使用不需要写BLL层与Model层任何的new。当然代码执行效率肯定会比每一个地方写new来的慢,但慢多少我做了一个专门对new的测试,我new了一万次在执行的时候发现第一次会比较慢就是占了些内存之后速度还是一样的快。

解决方案 »

  1.   

    写静态方法有一个问题就是model类的值被赋过之后会一直的保留,除非被重赋值。
      

  2.   

    重复写new需要避免吗?会很麻烦吗?类在实例化时所花费的系统资源开销要比维护一个静态类所所花费的系统资源开销小很多在PageBase里面将BLL与Model的new全部写好
    ----------------------
    你不觉得这种方法缺乏灵活性吗?
      

  3.   

    vrhero:我认为这样子非常的方便,只要继承PageBase类的所有的地方不需要去写实例化,直接的操作你想要的东西。
            您认为需要如何的灵活性?
      

  4.   

    与new有关的,都是创建型设计模式,看看这些经典,也许会帮自己的项目所有帮助,无论是,抽象工厂,工厂方法,原形,还是其它什么,都是经典的。
      

  5.   

    如果像这样:
    if (condition)
    {
      obj = new class1();
    }
    else
    {
     obj = new class2();
    }
    按楼主的意思就要new 两个对象?
    还有,你new一万次和将这一万次new放到需要用的地方去new,性能的差别在于初始化就new和使用时new中间的代码量,这个代码量小影响可能就是楼主说的,否则区别很大的。