设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
企业应用开发架构谈(二)
返回列表
发新帖
企业应用开发架构谈(二)
[复制链接]
11
|
0
|
2006-3-3 01:02:06
|
显示全部楼层
|
阅读模式
多年以前,我刚从是软件开发这一行,就遭遇了尴尬的事情,当我将软件
安装到用户时,发现用户的数据服务主机和我程序中硬编码的不一致,我
不得不重新修正我的代码。我的第一个配置文件就是因此而起的。
db.ini
connectString=xxxxxxxxxxxxxxxxxxxxx
userName=yyyyyyyyy
password=zzzzzzzzzzzzz
想必读者对早期的ini文件还有记忆,几年以后,xml流行起来了,我的配
置文件也大都为xml格式。(有关xml参考相关书籍)
db.xml
xxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyy
zzzzzzzzzzzzz
wwwwwwwww
如果说这几年的开发中对我影响深刻的之一是什么,回答是:系统的动态可
配置,一个动态可配置的系统 是优雅的,易维护,可扩展的。
建造高楼大厦,总是先构建框架,然后再填充墙壁,窗户等具体构件,用水
泥将构件与架构结合。想象一下软件开发,同样是由许多的构件组成软件的
整体,我们往往是将他们堆砌在一起,而不是有序的组织,者往往造成一动
而牵全身,扩展、修改模块都变得不易,也使得系统在需求频繁变动的真实
世界中经不起考验。
对于我而言,可配置文件就如同建筑中的水泥一样,是构建系统的粘合剂,
有效的整合大量无序的个体组件和相关联系。
文件还是数据库?
配置方式有两种:数据库、文件。前者通过将信息保存到数据库系统中,运行
时读取信息,后者通过加载文件方式来获取信息。
说实话,是使用文件还是使用数据库系统还进行配置,这完全因人而定,不
过就我个人来说,总是将他们结合使用,凡是涉及到权限控制相关的信息,
我都通过数据库来配置,以便于整合,此外的信息则是通过文件来配置。
无论你选择那种方式,你因尽可能的权衡利弊,取最适合的方式来用。
关于权限相关的配置问题我将在以后的章节讲解。
视图分发与监听器
在企业级应用开发中分发与响应控制是重要的,而使用配置方式来实现他们是
一种可取得有效方式,在模型--视图--控制模式中,通过增加分发器改进为模
型--视图--控制--分发使得系统的实现更为合理,配置文件将以上相关联起来
更进一步的松耦合整个系统。
一个简单的监听器控制.
A:
B:
.........................................
saleBrow.jsp
..........................................
C:
String name = "xx";
Moduelmodule = Module.getDefaultModule(name):
Listener listener = module.getListener();
String nextPage =listener.getNextPage();
如上所示通过配置文件很容易得将模型--视图--控制--分发有效的整合到一起。
改进你的查询视图
作为一个开发人员,懂sql是最基本的,与熟练越好,但在开发一个系统的时候,
我常常希望减少程序中sql的出现,甚至开发中不出现sql更好。通过实体关系
映射我消除了curd相关的sql代码,可对于复杂的查询和浏览,消除sql是一个不
可完成的任务,既然消除不可能,那是否有一种方法对大多数程序开发人员屏蔽
sql呢?
方法是有的。如下所示。
A:
BROW_SALES
select * from ainner join b on a.c=b.c where
a.d=?1 and b.e=?2
SaleV
B:
SqlExce exc = SqlExec.lookUp("BROW_SALES);
exc.bind(1,"xx"
;
exc.bind(2,3454);
Collection sales = exc.getResult();
SaleV sale = sales.get(1);
如你所看到的那样,通过动态配置,我们成功的消除了在代码中硬编码sql,对
大多数开发人员屏蔽了sql,通过集中的管理sql,更容易提前进行测试以验证sql
的有效性和减少各处编码导致的出错,以及方便的修正SQL.
有关内部赋值的实现,我在以后将详细讲述。
集中控制你的消息。
一个庞大的系统中,不可避免的会有许许多多的消息,校验消息、验证消息、业
务流程消息等等,而集中的控制他们,并已同一的方式出现是重要的,不然不同
的开发人员会写出千奇百怪的消息来。通过配置消息使得集中控制成为可能。
a:
你的输入值大于{0}或小于{1}
B:
MessageResources carResources = null;
MessageResourcesFactory factory = (MessageResourcesFactory)
FactoryFinder.getFactory(
FactoryFinder.MESSAGE_RESOURCES_FACTORY);
carResources = factory.getMessageResources("INPUT_G_OR_L"
;
return (carResources);
国际化问题
让你的软件适应国际化的要求是好的,如果能够很简单的实现何乐而不为呢,通过配
置文件让应用支持多语言变得可能。
A:
a_en.properties
Title=bench
Desc=bench 600
BasePrice=150000$
CurrentPrice=150000$
a_cn.properties
Title=奔驰
Desc=奔驰 600
BasePrice=1500000Y
CurrentPrice=1500000Y
B:
关于资源的可配置 ,有许许多多的可应用之处,我只是简单的介绍了几个典型的应用,
通过不断的在开发中积累经验,相信你可以在适当的地方以适当的方式应用她。
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
南京市夜间有哪路公交车到后宰门
2
^在数学算式是什么符号
3
济南治疗女性不孕去哪家有
4
恒洁好吗???我参加了好家网的去佛山总部
5
hello~看到您之前留的关于《电子商务下的物流配送研究》下的论文,可以发给我一份吗~
6
拉肚子,两天了,拉水一样,吃过藿香正气
7
从写字的习惯看人的性格
8
126897864网店指导群。想咨询的可以进来
9
安装仙剑4出现/PAL4/mss/win32/Autopan.flt出错,请将MSS下所有内容发我邮箱,谢谢了!
10
怀孕三个月,小便完后阴道擦出一点褐色的
11
开机后显示器左上角出现三个三角,全屏均是字母鼠标无用中怎么回事
12
已知数列{an}的前n项和Sn=3^n+a,若{an}为等比数列求实数a的值
13
PSP的屏幕保护膜有可以抗反光的吗?
14
长春市无痛人流便宜
15
腰椎增生,腰疼,腿疼。能不能治疗?
16
阿尔法变频器报sc怎么会事儿?
17
襄阳男科哪里好?
18
自编的描写雪的诗句比 未若柳絮因风起 更优美 能表现雪的大和急 要自编
19
哪个银行开和使用网银最方便(当然安全很重要)
20
推荐尿道口红肿不疼?
21
以世界风情为主题班会的台词
22
济南治疗女性不孕症
23
安康治疗生殖疣大概花多少钱?
24
威驰左后方向灯不亮了
25
推荐太原哪里治疗生殖器疱疹最好?
26
武汉治疗胆囊癌哪好?
27
推荐尿道口红肿糜烂?
28
亚洲的面积是4347万平方千米,比欧洲的4倍多283,求亚洲的面积
29
DIV中滚动文字不出现怎么回事
30
我想请你帮我算下孩子是我老公的吗?4月
31
安康市治生殖疣大概多少钱?
32
求古风轻音乐《遗留尘世的悲哀》的MP3版
33
老公车祸去世两年多了,赔偿问题现在才得以解决,可,公公婆婆说我什么也没有,最多是精神损失费 ,我如果
34
四个月没有来月经,之间下面一直流一些想
35
在新区生活玩家应该练哪个门派还?投资2W够不?
36
长春市做人流哪便宜
37
推荐太原哪里看生殖器疱疹?
38
为什么当领队
39
潍坊看性功能障碍男科
40
长春无痛流产包干价
41
推荐尿道口红肿有红点?
42
钟摆原则现实应用?别废话。
43
CSOL录像完后怎样发到网上给网友看
44
潍坊看性功能男科
45
前几天没多少月经量,今天怎么就很多呢?
46
如何学会解决问题??
47
我女朋友最近大姨妈来的时候会比较痛,有没有什么方法可以缓解呢?
48
而君幸于赵王是什么意思
49
已知数列{an}的前n项和Sn=3^n+a,若{an}为等比数列求实数a的值
50
脊梁骨中间疼
51
长春市比较好的人流
52
磬是什么意思
53
潍坊男科性功能障碍
54
最近体检时才检查出来的
55
济南治疗专业不孕医院
56
潍坊男科性功能障碍治疗早泄
57
求同校生sweets的下载种子,各种补丁,有MOD最好,要安装后无木马或后门程序的,发到
[email protected]
58
虾蓝色是什么颜色
59
三星R23 Plus 笔记本显卡问题
60
林老师的年龄加上5是9的倍数,加上6是10的倍数,加上7是11的倍数,加上8是12的倍数,问林老师的年龄?
61
襄阳男科医院那家好?
62
益阳人年龄54岁男原来身体很健康,很少
63
我很烦我同桌
64
潍坊男科性功能障碍的治疗阳痿
65
长春市人流哪家
66
宫外孕四十天能表现出症状吗
67
怎么样才可以让自己喜欢的文件永远无法删除?
68
NBS: Name based Socket 是什么 简单介绍下 谢谢!
69
推荐尿道口流出分泌物是怎么回事?
70
在地下室头上滴了一滴血液是从下水管流出