%*+,+')$%!!.-??0
'+)
%*+,--.-??0
0
0
灵活的 应该可以使 !1不受基础持久性技术更改的影响。例如,假设
您选择使用 1来存储数据并且您的对象模型和数据库架构极其类似,因此,您
决定使用 持久化对象。但是,当您编写 持久性逻辑后不久,
您决定使用其他数据库系统(如 ,)或希望使用 的映射功能来分离
概念架构和逻辑架构。或许一种新的数据访问技术已推出,您希望使用该技术。如果您设
计了基于插件体系结构的灵活 ,则应该可以根据 %%-中的条目随时切换提供程
序。
为实现此灵活性,我创建了 #1!接口,该接口具有用以检索和更新客户订
单,以及检索支持的客户和产品信息的方法(请参见图 A)。本示例应用程序包括两个实
现 #1!的类:使用 的 B,#1!;使用
和 的 #1!(请参见图 ")。您仅可以为 的 %%-
文件中的“#1!:设置输入完全限定的类名称,并使用 +,类的
(方法创建此类的实例,从而将其转换为 #1!。!1对
实现 #1!而使用的类没有特别要求,因此您可以选择任何数据提供程序:
#1!%1!C
+,69*-+,
(-*,#1!/*
#1!?
图 A将 与接口分离
%
.
DD, %-+=
*-C+=?
%*+,#1!
.
DD1(*/#!*/!
(*')6(*?
#!*')6#!*?
!')6(*!-*?
DD($%!
!6!!?
!(!!!?
!$%!!!!?
1!,!!!?
评论0
最新资源