怎么控制一个类的生命周期?
我想写一个程序 有很多的窗体,但是有一个类,这个类里的功能是负责socket通讯的,以前的做法是在一个窗体里写socket通讯,这样很方便,但是现在想做到就算切换了窗体,始终有个类在后台负责socket通讯,这样该怎么去设计?
------解决方案--------------------ok,将逻辑与界面分离是很好的开始。
C# code
static class Program {
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
------解决方案--------------------
当然有个前提,你的Network是贯穿整个程序的,那么可以放在App中,因为其生命周期长过Form。
那如果你的周期是相对比较短暂的,那么可以在响应相应事件后Open Network,然后在某个事件后Close。
但总而言之,你需要将网络部分从界面中抽离出来形成独立的Class进行管理。
------解决方案--------------------
------解决方案--------------------
同时推荐你使用Spring.NET或者轻量级的Unity,控制实例的生命周期。
------解决方案--------------------
首先,类没有生存周期,有生存周期的是类的实例,
楼主的问题,最好用单件模式实现,
------解决方案--------------------
Unity好一点。
下载
http://msdn.microsoft.com/en-us/library/ff663144.aspx
一个简单教程
http://msdn.microsoft.com/en-us/library/ff660908(v=pandp.20).aspx