有次做项目,演示完了,客户提出一个修改意见,查询内容上需要多显示一个字段,客户问我需要多少时间,我说半小时,为啥?添加字段后返回原来好不容易编辑好的格式全部没有了,所有的中文列名,对齐方式都得重新设置,实在太麻烦了。另外也感觉在做项目的过程中,数据库的设计不能过于随意,最好是能遵循某种规范,当然范式的概念还是很明确的,就是要有那种很一目了然掌握全局的感觉。我这个项目需要设计多少个表,每个表有哪些字段,表与表之间有什么关系都能很明晰的看到。修改也要很便捷。于是接触到了PowerDesigner。开始使用的是12后来更新成了12.5现在用的是15.0,感觉很好。
PD用来做数据库设计是没得说的,就是怎么结合起来做PB的开发更好呢?比如在PD中直接进行OOP模式的开发,需要多少个类,需要多少个窗口、结构、菜单之类的,直接在PD中进行设计,然后直接生成成PB的代码那该多好。稍微看了下,还是可行的。
PB相对于其他OP语言来说,要缺少接口的概念。我最近才体会到接口的用处。在面向服务的编程过程中使用接口是再好不过的方式了。比如要做数据的导入操作,可以按步骤划分为:导入前处理,导入处理,导入后处理。为此定义一个接口是再合适不过的事情,可惜PB没有接口这个概念。
凡是PB不支持的方式当然PD做设计的时候也不能使用,比如上面说到的接口。PD里能用在PB设计上的有Application、Structure、UserObjec、Function、Window等,Class对应的就是PB的UserObject,其他Menu以及Datawindow之类的都可以通过Class在Stereotypes里进行选择。函数可以定义Parameters这个是自然的。属性在Attributes里定义,函数在Operations里定义。Function只能定义唯一的一个Operation,多定义是没有效果的。设计好了之后,Language菜单里Generate Powerbuilder即可生成pb的代码文件。基本上所有的代码都可以在PD里书写。
有时间再些。