设计以及设计模式:非主流存储数据方式
数据会存到哪儿,在仔细考虑这个问题前,我肯定毫无疑问的说,肯定存数据库呗。其实不然,想想很多网站的图片就没有存到数据库,直接保存到文件系统。再比如写配置信息,既可能存到文件里,也可能存到数据库里。除了这流行的方式外,,还有没有别的地方可以存数据呢。
答案是有的。可以存在程序里。最常见的例子是直接把配置信息写在Java类的属性里,这样的好处是容易该,如果需要改逻辑又需要改配置信息,这样只要在代码里修改就好了,省的俩头改(程序和配置文件),比如以下代码
public class DBHelper {
private static String url = "jdbc:mysql://localhost/warehouse?user=root&password=";
static {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (Exception ex) {
ex.printStackTrace();
throw new RuntimeException("没有找到驱动!");
}
}
public static Connection getConnection() {
try {
Connection conn =
DriverManager.getConnection(url);
return conn;
} catch (SQLException ex) {
// handle any errors
ex.printStackTrace();
throw new RuntimeException("获取数据库连接错误!");
}
}
这个DBHelper 搞定一切,哪怕你是以后遇到切换成连接池,数据库IP地址更改或者数据库变成Oralce的需求。
在举一个列子,数据库里一个表放有注册用户信息,你也许想在首页上显示到目前为止会员姓李的有多少个,姓张的有多少个,姓王的有多少个.完成这个需求,一般的思路是后台程序定期统计,然后倒入到一个数据库表里,这个表内容大概如下:
LastName total
李 778,000
张 478,000
王 218,000
然后写一打端MVC程序去显示在主页上。这种方法是很好,不过还有更简单的方法,那就是不用数据库,后台统计程序直接生成包含这些统计信息的JSP页面就成。这样的好处是省掉很多程序,而且维护也很方便,比如如果想夸大张姓人数,那直接改JSP好了,谁都会,保证不出错
还有一个不太常用一个列子,可以把图片二进制编码后当着一个字符串属性,这样就省的去读图片了,如公司的Logo信息或者你的产品的Logo
其实把数据放到程序里应该很广泛的,比如老的C程序,再比如汇编程序都是数据和逻辑放到一起。只是由于现在MVC流行,数据被当着单独的一部分考虑了,这要好处很多,但有时候,可以考虑以下非主流的方式,其好处就是俩个字:简单。(IT专家网论坛)
- 1优化企业数据中心的三个妙招
- 2如何解决服务器规模和容量规划难题
- 3信息安全保障步入“面向服务”的时代
- 4局域网连接缓慢源自端口模式的不匹配
- 5PHP初学者常见的十四条令大总结
- 6太阳、风、海藻:未来数据中心的能源
- 7台式机无线联网将成为趋势
- 8IT未来发展的5个刚性需求
- 9PHP程序不适用大型系统之九大原因
- 10漏洞!安全软件的致命软肋在哪里
- 11独家:HIPS和NIPS两种类型入侵防护系统对比
- 12确保Windows操作系统稳定的六个秘笈
- 13网络管理员谈十四条保护路由器的办法
- 14分析:虚拟化的可靠性遭遇挑战
- 15深度分析云计算
- 16应用接入产品选择四大方法
- 17关于云计算我们无法回避的五个真相
- 18教你几招服务器数据备份方法
- 19开源的艺术 安全市场的新突破点
- 20如何巧妙利用防火墙拒绝内网入侵
- 21安全专家称安全产业落后于黑客技术
- 22正版验证促进企业做好补丁管理策略
- 23分析:虚拟化技术给企业应用带来的优势
- 24观点:存储安全究竟发生了什么?
- 25微软狂建数据中心赌云计算四大问题需解决
- 26美国联邦政府如何保护互联网安全?
- 27对话:构建绿色数据中心几项具体措施
- 28WEB应用防火墙瞄准盲点防御
- 29把IP地址压缩成4字节数组的一个方法
- 30安全修改注册表默认响应的方式