下面是客户端激活方式、服务器激活方式--Singleton、服务器激活方式--SingleCall的区别总结:
客户 端激活方式
1、不管是对象的创建,还是对象方法的执行,都在服务端(远程)执行。
2、服务端为每一个客户端(客户端对象)创建其专属的对象,为这个客户提供服务,并且保存状态(为每个对象单独保存状态)
3、可以从远程获取到方法执行的返回值。
4、远程对象在调用new操作时创建。
服务器激活方式--Singleton
1、当使用Singleton模式时,服务端在第一次请求时创建一个对象(构造函数只调用了一次),对于后继的请求仅使用这个对象
进行服务(即使再次调用构造函数也不会创建对象),同时多个客户端共享同一个对象的状态。
2、即使使用new操作符,客户端也无法创建一个对象,而只有在对象上第一次调用方法时才会创建。
服务器激活方式--SingleCall
1、对于每一次方法调用,创建一个全新的对象为其服务,在方法执行完毕后销毁对象。
2、即使使用new来创建对象,也不会调用构造函数,只有在调用方法时才会创建对象(调用了构造函数)。