我公司有套系统,每次更新功能的时候,下载列表里面更新的都是DLL,请问他们是把功能直接封装在DLL吗?请问这个是如何实现的?

解决方案 »

  1.   

    是的,一般exe程序只是一个框架,而所有功能模块都用dll实现,dll里面有界面,通过框架集成到exe中,这样功能模块更新只需要更新dll,而框架一般不更新,
      

  2.   

    业务逻辑放在dll里面,主程序调用
      

  3.   

    一般的是exe是界面,dll里是业务逻辑。当然也可以把界面放在dll里
      

  4.   

    那么我要把每个业务逻辑都做成一个DLL,这样对速度是否有影响?而且,这样做系统,BUG会不会较多。会不会调试比较困难?
      

  5.   

    dll里放界面也是可以的,如果强制业务逻辑和UI分开,会让程序多很多麻烦,其实业务逻辑改变之后,界面通常也不得不改变,所以想通过更改dll升级,最好把界面也放到dll中,当然在dll内部可以把业务逻辑和界面分开在不同类里实现,
      

  6.   

    这样做主要是麻烦,对速度没什么影响,但开发工作量会增加软件也更复杂,俗称过度设计,bug不会更多,反而会少一些,不过调试起来麻烦要多一些,但也不是很困难,可以集成起来运行调试,vs调试这种结构的程序也不会有多大困难,只是要麻烦一些,
      

  7.   


    .net不论是exe还是dll,直接拷贝就好了。
      

  8.   

    弄成类库程序也利于维护
    有部分更新升级(如ClickOnce,如果自己写个升级服务),也完全更新,但可能需要重新启动程序