[阅读: 524] 2005-08-03 05:36:47
1.修改的仅仅用于存储信息的字段,而不涉及与结构相关的关键字段和关联字段时。
在这种情况下,只须把修改的字段体现到界面部分,而不用改代码。除非,你的程序没有把代码与界面分离,程序中充斥大量的FieldByName('OrderNo').AsString等等硬代码。
界面与代码的分离是必然的发展目标,DELPHI的DFM文件与PAS文件,ASP.NET的aspx文件与cs文件,还有微软最新的XMAL编程模型都提倡这样做。
2.基于数据字典驱动的数据库应用系统
面向元数据编码越来越成为编程的主流,而数据库应用系统的数据字典就是描述应用业务数据的元数据。数据字典虽然包含数据库表结构信息,但还能设计来为应用程序提供更多的编程信息。以数据字典驱动的数据库应用系统中的编码大都不涉及具体表字段,而是基于表字段本身的描述来的。
因此,这样的数据库结构修改,会相应调整数据字典的描述。实际上,是先修改数据字典,再根据数据字典自动修改物理表结构。原来的程序代码都很少需要修改。
O/R Mapping的问题不仅仅是把代码硬化,最大的问题恐怕还是把程序的类结构与业务的类结构混为一谈。
程序的类层次结构要求类与其接口的设计符合各种经典的设计模式,而业务中的类结构要符合现实业务的理解。这是矛盾的,特别是在只支持单继承的编程环境中。
李战.深圳 2005-8-3
李战(leadzen)