基础框架
框架2.0采用主程序加模块和插件的方式,功能扩展尽量使用插件实现,框架不处理具体业务,只负责模块管理、插件管理、接口管理、缓存管理、消息管理、日志管理、数据通信等。
目录结构
一级目录分为dcus,doc,exe和Source,分别是临时文件、文档、二进制文件和源代码目录。
其中源代码目录下除了Modules目录和Modules\Public\之外的目录均为框架使用,谨慎修改。模块的内容全部放在Modules目录下具体的文件夹中,一个模块用一个目录管理,如:PBModule等。
可执行文件目录
项目产生的可执行文件和运行所需配置、字典、资源等相关文件,一般文件夹以exe命名
| 目录 | 说明 |
|---|---|
| exe\Config | 存放框架配置文件和配置参数文件 |
| exe\Font | 自定义字体目录 |
| exe\Lang | 多语言文件夹,一种语言一个文件夹,如:chs、cht、en等 |
| exe\Modules | 模块文件夹,一个模块一个文件夹管理,由于某些系统采用DLL模块方式,文件夹下存放模块使用的字典、资源和配置文件等 |
| exe\Plugins | 插件目录,插件目录名称不受限制,启用或关闭插件修改该目录下的Plugins.ini文件 |
| exe\Resource | 框架资源文件夹,包括图标、图片、Actions图标等 |
| exe\Skins | 系统主题目录,一个主题一个目录,主题命名修改该目录下的Skin.ini文件,主题目录下存放主题使用的图标、图片和主题配置文件Skin.xml |
| exe\CFCA | 存放CFCA相关的资源和配置文件 |
exe目录下,在程序运行后,会动态创建一些临时目录,如Backup(升级备份目录)、Update(升级目录)、Logs(系统日志目录)、Users(用户操作目录)等。
├─Config
├─Fonts
├─Lang
├─Modules
│ └─PBModule
│ ├─Charts
│ │ └─js
│ ├─Data
│ ├─Layout
│ ├─Resource
│ │ ├─Buttons
│ │ ├─img_Big
│ │ ├─img_Max
│ │ └─img_Small
│ └─Xmls
├─Plugins
│ ├─Debug
│ ├─IE
│ ├─KLine
│ ├─LogV
│ ├─Report
│ ├─RO_Proxy
│ ├─Update
│ └─zh_TW
├─Resource
│ ├─Actions
│ ├─img_Big
│ ├─img_Max
│ └─img_Small
└─Skins
├─Black
├─Blue
├─Default
├─Gray
└─Perfect
├─Buttons
├─Icons
└─Images
公共目录
公共源代码目录,源代码中不含具体处理业务,只提供项目所需的底层代码、公共代码、公共接口及各种基类,如:公共接口定义、网络通信、加解密、字典、缓存处理、基础类、公共模块、公共插件等。该部分源代码会被具体项目引用,不建议修改该部分代码(除非有必要),该部分代码不做具体业务,可以通过继承或重载的方式实现。
该目录下也会有一些独立的模块和插件,如日志插件、Debug插件、IE插件、升级插件、代理插件等,该部分插件会有一些资源文件、配置文件、字典文件等,所以公共目录下也会有一个可执行文件目录(如:exe),在该目录下会存放各个插件所需的文件,如有项目需要时,将对应的插件或模块目录复制到项目对应的目录下面即可。
公共目录一般位于项目的同级Common目录下面。
| 目录 | 说明 |
|---|---|
| Source\Core | 框架核心源码,存放cache、DB、Debug、Dicts、Grids、Intf、utils等相关源码,包含缓存管理、数据库操作、系统测试、数据字典、数据表格、接口、日志管理、用户管理、路径管理、对话框管理、资源管理等操作,谨慎修改。 |
| Source\Device | 设备相关源码,如USB、加密狗等 |
| Source\FrameWork | 框架相关源码,如UI、Actions、DataModule、CEF4、框架接口、多语言、主题管理等 |
| Source\Modules | 业务功能模块源码,如:PBModule |
| Source\Network | 框架网络通信源码,包含Intf、Packet、Protocol、Proxy等目录,处理网络接口、协议、加解密、代理、Socket等相关源码 |
| Source\Plugins | 插件源码,如:Debug、Report、RO_Proxy、Update、zh_TW、LogV、IE等插件 |
| Source\ThirdParty | 引用第三方源码,如:CnPack、NativeXML、Json、VirtualTrees、Raize等 |
| Source\CFCA | CFCA相关源码,包含接口、COM等 |
该表只列出了一级目录,每个目录下根据不同类型会也用相应的目录管理,如UI(一般又分dialogs、forms、frames)、Units、intf、Actions等目录
├─CFCA
├─Core
│ ├─cache
│ ├─db
│ │ └─sqlite
│ ├─Debug
│ ├─Dicts
│ ├─Grids
│ ├─Intf
│ └─utils
├─Device
│ ├─Dog
│ └─USB
├─FrameWork
│ ├─Actions
│ ├─CEF
│ ├─Check
│ ├─DM
│ ├─Intf
│ ├─Language
│ ├─Skin
│ └─UI
│ ├─Dialog
│ ├─Form
│ ├─Frame
│ ├─Skin
│ └─Widget
├─Modules
│ ├─Public
│ └─PBModule
├─Network
│ ├─Intf
│ ├─Net
│ │ ├─http
│ │ └─Socket
│ ├─Packet
│ ├─Protocol
│ └─Proxy
├─Plugins
│ ├─Debug
│ ├─IE
│ ├─KLine
│ ├─LogV
│ ├─Report
│ ├─RO_Proxy
│ ├─Update
│ └─zh_TW
└─ThirdParty
├─FastMM
├─Json
├─NativeXML
├─Raize
└─VirtualTrees
Source目录
项目源代码目录,存放项目所需的UI、单元文件等,而项目的用到的公共单元、UI、网络通信、公共模块、插件、日志等,需要通过外部引用到项目中。
| 目录 | 说明 |
|---|---|
| Source\Core | 一般会引用公共代码,如有个性化处理可在该目录下增加 |
| Source\Device | 设备相关源码,外部引用 |
| Source\FrameWork | 框架相关源码,外部引用 |
| Source\Modules | 业务功能模块源码,如:XXModule,业务模块下 |
| Source\Network | 框架网络通信源码,外部 引用 |
| Source\Plugins | 插件源码,个性化插件,公共插件可通过外部引入 |
| Source\ThirdParty | 引用第三方源码,外部引用 |