# WinForm框架 > 课程安排 > |知识章节|培训对象|课时| > |-|-|-| > |WinForm架构简介|新学员|1| > |功能架构管理|新学员|5| > |窗体界面设计|新学员|5| > |WnDataSource|新学员|1| > |控件库接口|新学员|1| > |容器控件|新学员|2| > |菜单导航控件|新学员|1| > |单值控件|新学员|5| > |数据展示控件|新学员|5| ## 架构模式 典型的C/S架构有两层架构模式和三层架构模式两种。 ### 两层架构 两层架构就是客户端-数据库架构,客户端直接连接数据库。 优点: - 客户端与数据库直接连接,没有中间环节,因此响应速度快 - 传递大量数据时很少会造成内存溢出 缺点: - 安全性差,数据库的账号密码都暴露在客户端代码中 - 适用性差,只适合在局域网中使用 ### 三层架构 三层架构就是在两层架构的基础上多了一层应用服务器,即客户端-应用服务器-数据库。 优点: - 安全性高,数据库连接操作都在应用服务器中进行,提高了数据库安全性 - 扩展性好,除了在局域网中使用外,还可以在公网中使用 缺点: - 因为多了一级应用服务器,效应速度稍慢 - 传递大量数据时,因为序列化和反序列化经常造成内存溢出 鉴于两层架构和三层架构的优缺点,以及咱们公司的业务场景,现在的WinForm架构是同时支持两层架构和三层架构的。一些安全性要求比较高的场景通过三层架构实现;而对响应速度要求比较高的场景则通过两层架构实现。 ## WinForm架构功能 ![](./static/images/01.png) |模块|说明| |-|-| |网关处理模块|三层架构中用于接受并转发客户端请求;把返回结果返回客户端| |控制台管理模块|用于管理应用层、应用层处理器和应用层数据库组的配置信息| |数据库操作模块|用于操作数据库| |控件库|自己封装的ui组件,既为了方便程序开发,又为了让程序界面更加美观| |模块界面设计|动态配置模块界面,提高开发效率和程序的易维护性| |动态SQL配置|动态配置SQL语句,提高程序的易维护性| |报表平台|允许自定义报表,包括平面报表、交叉报表和图形报表都能| |套打平台|自定义套打格式的打印管理平台| |文件管理平台|文件服务器,允许上传、下载文件,并允许部分格式文件在线预览| |预警|根据用户设定条件触发预警机制,并通知相关责任人| |定时任务|定时执行用户预先设定的任务| |用户管理|管理平台用户| |角色管理|管理平台角色| |日志管理|管控模块日志,包括模块进入日志和操作日志| |多语言管理|平台支持多余元| |数据同步|多地进行数据同步| |菜单模板管理|根据用户权限已经ip地址等限制,使用不同的菜单选项| |功能权限管理|用于控制模块可不可用,模块里的功能可不可用| |数据权限管理|用于控制模块数据的可见范围| |短信平台|与外部短信平台进行连接| |消息平台|平台内部消息平台| |审核流|自定义审核流程|