一、封装相关
1、PFC使用Public和Protected类型,不是使用私有类型
2、对于可读的实例变量,提供of_GetVariableName
3、对于可修改的实例变量,提供of_SetVariableName
4、对于布尔类型,提供of_IsVariableName
5、使用Register/UnRegister进行服务的注册/注销
二、PFC的服务包括的服务类型:
1、应用服务:应用优先权、数据窗口缓存、调试、错误消息、最近使用的对象、安全性、事务注册
2、窗口服务:基本服务、优先服务权、页管理器、状态条
3、数据窗口服务:基本服务、数据窗口尺寸调整服务、下拉搜索、过滤、查找、链接、多表更新、属性、查询模式、报表、必需列、尺寸调整、行管理器、行选择、排序
4、数据存储服务:基本服务、多表更新、打印预览、报表
5、全局服务:文件、INI文件、工作逻辑单元、元类、菜单、数值、平台、尺寸调整、RTE查找、选择、SQL、SQL SPY、字符串
服务的概念是PFC的基础思想,自己的类库中没有服务的概念,只是几个全局性的用户对象而已。
三、服务的特点
1、选择性的启动服务。
2、授权关系。分为配套关系和综合关系。
四、PFC的扩展层
1、PFC提供扩展层用于PFC的用户定制。
2、可以将用于整体、部门或者指定应用的逻辑添加到扩展层对象。
3、在更新版本时,扩展PBL不受影响。
4、PFC服务的祖先层和扩展层。
应用和全局服务 | PFCAPSRV.PBL | PFEAPSRV.PBL |
数据窗口服务 | PFCDWSRV.PBL | PFEDWSRV.PBL |
可视和标准类用户对象 | PFCMAIN.PBL | PFEMAIN.PBL |
工具服务 | PFCUTIL.PBL | PFEUTIL.PBL |
窗口服务 | PFCWNSRV.PBL | PFEWNSRV.PBL |
废弃的PFC对象放在PFCOLD.PBL中,无扩展层。
5、PFC对象命名约定
祖先对象,前缀使用pfc_
扩展对象,去掉pfc_后的祖先对象同名