C/S系统快速开发框架
![适用开发](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/fe330b7771c24e83b389a8e2e829b0fb.png?x-oss-process=image/resize,w_1400/format,webp)
![运行平台](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/eb565ad68c5c45d3973da344eb288ef2.png?x-oss-process=image/resize,w_1400/format,webp)
![开发工具](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/5b3ac24eebc64c4ead38744a4d0c6386.png?x-oss-process=image/resize,w_1400/format,webp)
![数据库](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/5ab138b755f245f1a42348efb44f5d3e.png?x-oss-process=image/resize,w_1400/format,webp)
![](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/aacd2b18947748fc92939f352e2f36ea.gif)
C/S系统开发框架旗舰版为软件团队提供强大的技术支撑以及快速开发能力,开发框架集成大量的通用开发包与工具实用类,提供丰富的例子,借助技术文档、网站资源、演示源码以及在线技术指导,用户能快速投入研发自己的项目。自2007年首发开发框架以来,我们成功积累了2000多位用户,其中包括数百家软件公司或大型集团企业。经过十年的产品迭代升级,最新旗舰版技术更成熟,性能更稳定,产出效率更高!
配套的代码生成器工具能自动生成界面(FORM)、业务层(BLL)、数据层(DAL)、模型(Model)、报表(Report)以及业务模块(Class Library DLL)的源代码,极大地提高开发效率、节约开发时间、降低项目成本。据多年项目实践统计,开发框架基本能完成项目大概60%以上的工作量。
开发框架经过严格的技术验证和系统测试,如压力测试,得到广大用户的赞誉和好评。我们积极收集用户反馈的意见,不断完善和改进,最新版本极少有系统性缺陷。我们秉着分享成功经验,坚持创新原则,永久提供优质的售后服务与技术保障。每次发布新版本,一定会给用户带来惊喜,每次免费升级,一定能让用户感到贴心和温暖。我们秉着创新、专注、专业,始终如一的精神理念,乐于分享成功和喜悦,欢迎选购我们的产品。
![](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/85e3189670a1475da8333b85110443d7.gif)
最后更新:2017-11-06 17:03
CSFrameworkV5.0客户端程序分为CSFramework.ClientFoundation和CSFramework.ClientDemo两个解决方案,将基础架构独立封装,编译成DLL文件给开发者使用,为您的项目源码和软件知识产权提供深度保障。 若源码保密级别不高的情况下,建议直接在基础架构解决方案内开发新功能,ClientDemo仅仅是开发示例。
开发框架为用户提供多种数据库支持,目前已封装三种底层数据驱动,支持SqlServer、Oracle、MySql三种常用数据库。Multi-DB架构采用策略模式设计,定义IDatabase通用接口,并实现DatabaseMSSQL, DatabaseMySql,DatabaseOracle三个数据库操作类。引用的类库名称:CSframework.DB.dll。
帐套通常应用在大型集团企业的管理系统,一般一个企业只用一个帐套,若企业旗下有独立核算的实体子公司,就可以建几个帐套。账套之间是相对独立的,也就是说:建立、删除或修改一个账套中的数据,不会对其他帐套有任何影响。开发框架引入多帐套设计理念,使数据独立存储,灵活配置和扩展,便于管理和维护。
系统数据库将承载更多的通用以及公共数据,比如软件系统配置信息、用户权限信息,集团报表数据、各种财务报表、公司营运动态数据、内部通知以及OA在线办公等。大型软件系统通常采用这种多帐套机制,在服务端所谓的后台架构设计,系统数据库通常被开发人员作为各个数据库之间的通信桥梁,比如跨库存储过程、LinkServer等。
数据访问层采用继承方式设计,开发框架提供的dalBase基类定义受保护的_Database成员变量,实例化数据访问层同时实例化数据库对象,为DAL层访问和操作数据库提供底层接口。
触发UI层按钮事件获取客户资料,首先调用业务逻辑层的Get方法,再传递到数据访问层,在DAL层编写好SQL脚本,并调用_Database对象的方法返回数据。 Loginer对象记录用户登录信息、帐套编号、Token或其他信息,作为全局变量的形式贯穿整个系统(包括前段和后端),是非常重要的数据之一。 帐套编号(DBID)是Database ID的缩写,用户登录成功时记录帐套编号,实例化数据访问层同时根据DBID实例化对应的数据库。
提交数据流程涵盖DAL层、SQL命令生成器、ORM Model、DatabaseProvider以及Database四个层面的功能协同,不需要手工编写任何SQL脚本,全部实现自动化提交,是开发框架核心技术之一。
开发框架提供两种ORM模型:
1.表结构静态类模型 (Table Model)
静态类定义表结构的字段映射,这个类无方法或属性,仅转换了表结构字段名作为静态变量名。
2.实体类模型(Entity Class/Object Class)
实体类包含字段名称常量与属性。参考:开发框架支持的两种ORM模型(静态类/实体类)
SQL命令生成器跟据ORM模型自动生成Insert/Update/Delete三种SQL命令的脚本,开发人员需要在DAL层的CreateSqlGenerator方法内指定命令生成器类型。
IDatabase提供操作数据库的底层接口,用于执行SQL脚本获取或提交数据,如:建立SQL连接、获取数据表、执行SQL命令等功能。
CSFramework.WebApi Server是旗舰版支持的后端服务器开发框架,WebApi服务借助Web平台开发的应用程序编程接口,具有良好的接口封装以及跨平台客户端存取数据等优点,统一使用JSON数据格式,在智能手机APP软件产品领域占用巨大市场。
如上图所示,核心主程序或类库文件必须进行代码混淆(加壳)之后才能正式发布软件。
代码混淆参考内容:
http://www.csframework.com/archive/1/arc-1-20170228-2288.htm
http://www.csframework.com/archive/1/arc-1-20170228-2290.htm
对程序文件进行代码混淆之后,可使用ClickOnce或其他三方安装程序打包成安装程序发布給用户。
![C/S系统开发框架旗舰版V5.0-代码生成器 C/S系统开发框架旗舰版V5.0-代码生成器](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/1ecfe7db40b64389bc54addc48ad2571.png?x-oss-process=image/resize,w_1400/format,webp)
http://www.csframework.com/cs-code-generator.htm
![C/S系统开发框架旗舰版V5.0-生成代码流程 C/S系统开发框架旗舰版V5.0-生成代码流程](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/080167b1b19842dc80af4068c2498681.png?x-oss-process=image/resize,w_1400/format,webp)
架构图 (Architecture)
![C/S系统开发框架旗舰版V5.0-架构图 C/S系统开发框架旗舰版V5.0-架构图](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/540f33b1bbff4c479bffcdc47d592509.jpeg?x-oss-process=image/resize,w_1400/format,webp)
团队开发 (Team Development)
![C/S系统开发框架旗舰版V5.0-团队开发 C/S系统开发框架旗舰版V5.0-团队开发](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/f3d6620b795148719b3f24c6bedfd6a6.png?x-oss-process=image/resize,w_1400/format,webp)
CSFrameworkV5.0客户端程序分为CSFramework.ClientFoundation和CSFramework.ClientDemo两个解决方案,将基础架构独立封装,编译成DLL文件给开发者使用,为您的项目源码和软件知识产权提供深度保障。 若源码保密级别不高的情况下,建议直接在基础架构解决方案内开发新功能,ClientDemo仅仅是开发示例。
多数据库支持 (Multi-Database Supportable)
![C/S系统开发框架旗舰版V5.0-多数据库支持 C/S系统开发框架旗舰版V5.0-多数据库支持](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/becf9baaee0d4437a482a3cbb7e7afa5.jpeg?x-oss-process=image/resize,w_1400/format,webp)
开发框架为用户提供多种数据库支持,目前已封装三种底层数据驱动,支持SqlServer、Oracle、MySql三种常用数据库。Multi-DB架构采用策略模式设计,定义IDatabase通用接口,并实现DatabaseMSSQL, DatabaseMySql,DatabaseOracle三个数据库操作类。引用的类库名称:CSframework.DB.dll。
![](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/b6feb6ee4fd94b50b73676a8a6a8d24c.png?x-oss-process=image/resize,w_1400/format,webp)
多帐套支持 (Multi-Dataset Supportable)
![C/S系统开发框架旗舰版V5.0-多账套支持 C/S系统开发框架旗舰版V5.0-多账套支持](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/dbcdcd62199144ff814693e297ce55fe.jpeg?x-oss-process=image/resize,w_1400/format,webp)
帐套通常应用在大型集团企业的管理系统,一般一个企业只用一个帐套,若企业旗下有独立核算的实体子公司,就可以建几个帐套。账套之间是相对独立的,也就是说:建立、删除或修改一个账套中的数据,不会对其他帐套有任何影响。开发框架引入多帐套设计理念,使数据独立存储,灵活配置和扩展,便于管理和维护。
C/S系统开发框架数据库(CSFramework Default Datasets)
![](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/c64b6c04fda94d3b9c6a8ec5b6d2fa6a.jpeg?x-oss-process=image/resize,w_1400/format,webp)
系统数据库将承载更多的通用以及公共数据,比如软件系统配置信息、用户权限信息,集团报表数据、各种财务报表、公司营运动态数据、内部通知以及OA在线办公等。大型软件系统通常采用这种多帐套机制,在服务端所谓的后台架构设计,系统数据库通常被开发人员作为各个数据库之间的通信桥梁,比如跨库存储过程、LinkServer等。
数据访问层 (Data Access Layer)
![C/S系统开发框架旗舰版V5.0-数据访问层UML图 C/S系统开发框架旗舰版V5.0-数据访问层UML图](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/c55d08f610934576a6762f58d2714363.jpeg?x-oss-process=image/resize,w_1400/format,webp)
数据访问层采用继承方式设计,开发框架提供的dalBase基类定义受保护的_Database成员变量,实例化数据访问层同时实例化数据库对象,为DAL层访问和操作数据库提供底层接口。
数据访问层流程 (DAL Flow)
![C/S系统开发框架旗舰版V5.0-数据访问层流程图 C/S系统开发框架旗舰版V5.0-数据访问层流程图](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/2bb165fa3ad24e1bb533fece4efd9aa9.jpeg?x-oss-process=image/resize,w_1400/format,webp)
触发UI层按钮事件获取客户资料,首先调用业务逻辑层的Get方法,再传递到数据访问层,在DAL层编写好SQL脚本,并调用_Database对象的方法返回数据。 Loginer对象记录用户登录信息、帐套编号、Token或其他信息,作为全局变量的形式贯穿整个系统(包括前段和后端),是非常重要的数据之一。 帐套编号(DBID)是Database ID的缩写,用户登录成功时记录帐套编号,实例化数据访问层同时根据DBID实例化对应的数据库。
![](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/bd678d20c14943b4b21b73df6ea41372.png?x-oss-process=image/resize,w_1400/format,webp)
提交数据流程 (Post Data Flow)
![C/S系统开发框架旗舰版V5.0-提交数据流程图 C/S系统开发框架旗舰版V5.0-提交数据流程图](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/93b330ca9adf4901b91297e18f46a985.png?x-oss-process=image/resize,w_1400/format,webp)
提交数据流程涵盖DAL层、SQL命令生成器、ORM Model、DatabaseProvider以及Database四个层面的功能协同,不需要手工编写任何SQL脚本,全部实现自动化提交,是开发框架核心技术之一。
开发框架提供两种ORM模型:
1.表结构静态类模型 (Table Model)
静态类定义表结构的字段映射,这个类无方法或属性,仅转换了表结构字段名作为静态变量名。
2.实体类模型(Entity Class/Object Class)
实体类包含字段名称常量与属性。参考:开发框架支持的两种ORM模型(静态类/实体类)
SQL命令生成器跟据ORM模型自动生成Insert/Update/Delete三种SQL命令的脚本,开发人员需要在DAL层的CreateSqlGenerator方法内指定命令生成器类型。
IDatabase提供操作数据库的底层接口,用于执行SQL脚本获取或提交数据,如:建立SQL连接、获取数据表、执行SQL命令等功能。
跨平台服务端 (Cross Platform Server)
![C/S系统开发框架旗舰版V5.0-跨平台服务端 C/S系统开发框架旗舰版V5.0-跨平台服务端](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/22a9cfc6a4bf4863a9320e14576a771a.png?x-oss-process=image/resize,w_1400/format,webp)
CSFramework.WebApi Server是旗舰版支持的后端服务器开发框架,WebApi服务借助Web平台开发的应用程序编程接口,具有良好的接口封装以及跨平台客户端存取数据等优点,统一使用JSON数据格式,在智能手机APP软件产品领域占用巨大市场。
WCF架构通信流程图 (WCF Communication Flow)
![C/S系统开发框架旗舰版V5.0-WCF架构通信流程图 C/S系统开发框架旗舰版V5.0-WCF架构通信流程图](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/99e23a2af32c40f8961892f72c87ac33.png?x-oss-process=image/resize,w_1400/format,webp)
代码混淆与部署 (Code Confusion And Deployment)
![C/S系统开发框架旗舰版V5.0-代码混淆与部署 C/S系统开发框架旗舰版V5.0-代码混淆与部署](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/93b8fd74531b4e29b45063c45c5ead08.png?x-oss-process=image/resize,w_1400/format,webp)
如上图所示,核心主程序或类库文件必须进行代码混淆(加壳)之后才能正式发布软件。
代码混淆参考内容:
http://www.csframework.com/archive/1/arc-1-20170228-2288.htm
http://www.csframework.com/archive/1/arc-1-20170228-2290.htm
对程序文件进行代码混淆之后,可使用ClickOnce或其他三方安装程序打包成安装程序发布給用户。
解决方案和工程项目 (Solution & Project)
![C/S系统开发框架旗舰版V5.0-解决方案和工程项目 C/S系统开发框架旗舰版V5.0-解决方案和工程项目](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/b008df625625462e987aae950d64ae85.png?x-oss-process=image/resize,w_1400/format,webp)
开发框架基础架构(CSFramework.ClientFoundation)
![C/S系统开发框架旗舰版V5.0-开发框架基础架构 C/S系统开发框架旗舰版V5.0-开发框架基础架构](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/216f1167f40544ea8db8840983cab7c9.png?x-oss-process=image/resize,w_1400/format,webp)
开发框架客户端示例(CSFramework.ClientDemo)
![C/S系统开发框架旗舰版V5.0-开发框架客户端示例 C/S系统开发框架旗舰版V5.0-开发框架客户端示例](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/e330229f46fc49b5b9064814200226ac.png?x-oss-process=image/resize,w_1400/format,webp)
开发框架服务端解决方案(CSFramework.Server)
![](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/329660b896e24be2904a4a61ce70757f.png?x-oss-process=image/resize,w_1400/format,webp)
开发框架目录结构(CSFramework Sub Directories)
![C/S系统开发框架旗舰版V5.0-开发框架目录结构 C/S系统开发框架旗舰版V5.0-开发框架目录结构](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/3539d7e57ca541a496abd16c3ddce98a.png?x-oss-process=image/resize,w_1400/format,webp)
![](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/eca5111c588c4a53afb8a4ca1ca63352.png?x-oss-process=image/resize,w_1400/format,webp)
代码生成器 (Code Generator)
![C/S系统开发框架旗舰版V5.0-代码生成器 C/S系统开发框架旗舰版V5.0-代码生成器](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/1ecfe7db40b64389bc54addc48ad2571.png?x-oss-process=image/resize,w_1400/format,webp)
http://www.csframework.com/cs-code-generator.htm
生成代码流程 (Generate Code Flow)
![C/S系统开发框架旗舰版V5.0-生成代码流程 C/S系统开发框架旗舰版V5.0-生成代码流程](https://ucc.alicdn.com/ceqpuysufasyu/developer-article684402/20241021/080167b1b19842dc80af4068c2498681.png?x-oss-process=image/resize,w_1400/format,webp)