Delphi项目框架设计

可能我们已开始学习使用delphi的时候,往往在项目里面使用全局变量,比如 datamoudle 单元 ,比如自己定义一个全局变量单元,虽然看上去简单,
但是实际上是很危险的,任何引用了改单元的都可以修改这些值。既然delphi是OO的,为什么不用object 实现全局变量呢?

下面就是我的设想,假设某项目由 Splash ,Login ,MDI Main ,MdiChild ,Modal 窗口组成。

1.设计期,我们使用datamoudle 单元添加connection ,以实现dataset等的数据感知。
2.之后,我们修改我们的程序,
  a>给dpr 添加一个全局对象 GEnv 
  b>给每个form单元添加一个private 变量 FEnv ,一个private SetEnv(Value:TEnv); 再用property 设置其值
  c>实现一个全局变量对象 TEnv ,里面包存 Connection ,权限 ,登陆用户 ,密码 等数据
  d>在 dpr 将 GEnv 传递给 Splash ,Login ,Main 窗体
  e> 在 Main 窗体 将自身FEnv 传递给所有 Mdi Child 窗体类  ,Modal 类窗体类
  f> 每个类在onclose 释放 FEnv 变量 
  g> dpr 最后释放全局 GEnv 对象变量。

同理 ,我们可以在Php ,Java ,C++ 等OO 语言也可以使用这一模式。

欢迎砖块。
  

posted @ 2009-09-21 09:12  苹果X1  阅读(1411)  评论(1编辑  收藏  举报