重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先~~需要确认的是,每次读取花时间的问题~是在连接上还是在创建实例上。
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、做网站、成都外贸网站建设公司、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的滕州网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
如果是在创建实例上,需要做【单例模式】,建议所有数据创建在Module中,并做全局变量。
Cache是一种B/S,的MVC方式。
缓存方式有很多~~~
一种是物理方式(做物理RAM内存开避空间)
一种是文件方式(做文件)
如文件方式,较常出现的如MVC的缓存,就是大概原理就是,把不经常用到(变化)的数据信息放到文件中,采用读取文件的方式(比访问数据快),存在指定或CurrentDir中。
如果想方便~需要追加一系列状态标识~当访问时,触发变更,然后在读取数据前,确认这个状态是否变动,如果变动说明数据库有变动,需要再次访问数据库。如果没有变动,则读取文件。
这种就叫缓存技术。
当然,我说的这种是比较简单的,还是需要设计思想。
从面向对象设计原则上来看,使用单例模式是最佳的实现方式。由于早期设计的遗漏等问题,会导致对项目中进行单例重构十分麻烦。
出于这种情况,最合适的方式建方你还是使用类似的单例模式,实例化对象本来就应该由类自象功能实现。不应该在外部实现。目前的建方是,设计一个单例模式的接口,及接口方法。然后让窗体类去继承。缺点是由于所有的窗体可能构造函数均为公开,不能做到具体的控制。虽然能解决不会遗漏哪个窗体未处理,但对于诸多窗体的修改仍然不是解决之道。
项目工期紧时,可以考虑使用外部实现。外部实现的原理就是在打开窗体时,使用一个函数进行打开,不要直接使用窗体的函数打开,当然也不是指每个窗体中去加一个成员方法。而是新建一个类。该类传入一个窗体类型,然后在程序域中查询该类是否被实现化。在一个appdomain中,所有的实例窗体都会出现在这里(模态除话框也在)。通过appdoamin可以查询到所有实例化后的窗体,那么利用查询出的所有窗体的运行态类型(用getType方法获得),与传入的类型进行对比,如果有存在,则直接返回即可,若不存在,则进行初始化。
虽然这样参解决当前的问题,但是这毕竟不是长久之计,也就是我们常说的技术债务,客户做完验证,在正式上线前使用singleton才是正道。总之这个债务是迟早要还的,至于在什么时间是由project manager自行决定。
当你用到一个(或几个)全局的对象来处理对某个类的所有请求是,你就用到了单例模式.
单例模式可以保证某个类型中只有一个实例,所有的请求都有该实例处理.
其实在VB中开发者已经在毫不知情的情况下使用了很多年的单例模式,例如Form1.Show()
在单例模式中不仅仅是一系列静态函数的集合.你可以对实例的创建更自由的控制,例如添加一个静态方法并给出一些必要的处理逻辑.
//望采纳
在项目上右键,然后选择属性,打开如下图所示的项目属性对话框:
然后选择左边的“应用程序”标签页,再勾选上“生成单个实例应用程序”。