数据库的一种完全面向对象设计模式
1.1 完全面向对象和非完全面向对象
面向对象(OO)方法这个名字早已深入人心,它的科学性和合理性也已毋庸置疑。
人们动辄将自己开发的软件冠以“采用面向对象方法设计”以示其先进性就
是一个极好的证明。然而,一个先进的方法学必须有相应的工具支持才能实现,它的概念和方法如不落实
程序实现上,就不能真正掌握它的精髓而在实践中运用。诚然,SmallTalk 语言已被公认是一个面向对象
语言,但是它对于开发者来说是多么的陌生!C 也可以说是一个 OO 语言,不过从名字就可以看出他是 C
语言的一个变种。它实现了从过程式编程到面向对象编程的一个较好的过渡。但是许多声称用 C 制作的
软件其实仍旧是 C 软件!这是因为没有真正掌握 OO 方法的缘故。
即使开发者的开发环境,开发工具是支持 OO 的(如 Delphi,VC),但开发者没有以 OO 的观点去观察
软件的问题域,或者以往的过程式设计思想根深蒂固,那么开发出的软件仍旧是披着 OO 这件漂亮外衣的
过程化软件。没有把 OO 作为一种确实实用的方法学。造成这种现象的原因是没有认识到 OO 的精髓,尤
其是在一些 RAD 开发工具下,更容易忽视以 OO 的观点去观察问题域。
RAD 开发工具开发的软件常能分成两种形式:完全面向对象设计和非完全面向对象设计。一个数据库软
件系统的体系结构常能分为三层:用户接口层、中间件层和数据库层。在用户接口层,常是一些具体与用
户交互的对象,如:按钮、菜单、和对话框。在数据库层,则是从问题域中找出描述实体的表。完全面向
对象和非完全面向对象的最大区别在于中间件层,什么是中间件层,中间件层是问题域中具体对象,商业
规则,更高层次上的问题实体。完全面向对象有中间件层,非完全面向对象没有中间件层。RAD 工具开
发时常会忽视中间件层。
举个例子:一个简单的记帐系统如果用 RAD 工具(如:Delphi)开发,用户接口层是一些系统中所用的
控件,如按钮,菜单等,这些控件对象由 Delphi 或其它开发工具中的类库封装;数据库层则是在数据库
系统(如 SQL SERVER、Oracle 等)建立的表,如顾客表、产品表、订单表等。
完全面向对象设计中的中间件层为问题域的交易,商业规则等对象,以及更高层次上的问题实体,如顾客,
产品,订单。非完全面向对象则没有中间件层这些对象。换句话说,非完全面向对象是基于用户接口层直
正在装载数据……
评论0