惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - JustLive

mssql恢复 Java学习笔记--jsf篇 TDD的三条军规 养成助你成功的十个习惯 35岁成功人的12条黄金法则 彷徨 疑虑 That Place In Your Heart 唐古拉风 奔放 轻柔钢琴曲 克罗地亚狂想曲 数字陷阱 Thinking After Done (1) 关于TWebBrowser 偶的第一个游戏--《N连珠》 谁给我们伤害? 数据类型转为字符串 Delphi第三方组件--Delphi第三方控件大比拼
数据库接口隔离设计
JustLive · 2006-09-24 · via 博客园 - JustLive

      经过多年的企业级相关开发,跟数据库的交道打得太多了。每个企业相关的项目都离不开数据库,尤其是Mis,Erp和一些报表等需要存储相关的,数据库是不二选择了。 从刚开始的拖拽控件,到慢慢学着封装,走了很长的路。越到后来,越是如履薄冰,因为跟数据库的耦合太紧,基本意味着设计过于依赖本来是帮助我们的存储介质。这显然是个度的把握。对什么事物过于依赖总不是好事。尤其数据库跟程序的依赖就是业务逻辑跟数据存储的依赖。虽然现在的oracle有了自己的Form builder, report等直接可以实现业务的工具。 但我认为这不见得是好事。我的看法一直是业务实现最好不要知道数据存在那里了,存给谁了, 只要知道交给谁去存就可以了。Xml的出现应该是个让人振奋的亮点。当然这个话题是比较大的,我要说的,只是其中相关的一点,很多时候我们可能只需要建立在某一种数据库之上构造我们的程序,或者某几种,又或者我们在将来的某个时间发现需要更换其他数据库来支持系统,又或者用户说我们必须更换数据库来适应他们的业务变化。如果们的程序只依赖在某个数据库上,那么麻烦就会来临。尤其是在系统中如果写 了很多Oracle或者Access或者其他某种数据库特有的SQL,而没有采用规范的处理。 下面的一些设计,或许会带来新的局面,当然应该有更高明的设计,也许不同的领域不同的需要有不同的设计方式。

         废话是需要说的,但是重点不是废话,下面是一张UML设计图:


         虚线左边是数据源管理部分,可以单独作为一个单元或者名称空间,只要单独提供一个IDBManage给外界(外界即,需要数据库连接的地方)就可以实现数据库的读写。虚线右边是提供具体的数据集,TOnsQuery是一个抽象的聚合了数据集的数据集类,它可以支配需要的具体数据集来完成数据处理,也可以通过TDB的派生类来完成对不同数据库类型的特殊SQL语句的处理。