技术总结:winform和wpf的区别 以及 项目的“设计规划”

一、winform和wpf的区别:

1.winform 是“前后端”不分离的,wpf是前后端分离的。这个是winform的设计器和c#编码“耦合度”太高了,不能独立进行设计页面。

如下图是wpf的结构:【具体的解释在图片里面】==》它的设计器是用xaml来写 就像html一样,但winform的设计器还是c#的属性值页面跟语言本身的关联度太高。

2. windowform的难度比wpf相对低,因为wpf你要学习xaml的语法。

3.控件自适应:wpf比windowform好太多了

4.界面的UI肯定是wpf好看了,前提是会写样式,它对样式比较自由

5.wpf 可以数据类似vue=>data绑定,windowform没有这样的使用,控件的值需要内部赋值才能起到wpf的这块的效果。

ps:小插曲,之前写个客户端,优先想到的是易语言,然后思维逻辑调不过来,中文的控件和代码很不适应,最终放弃,现在可以。。。嘿嘿。。。

二、项目的设计规划

1.想做一个“伪”框架【如下图】

 sys【系统文件夹】:

    放 特性【类似java的特性】 公共的组件 接口 以及 公共的工具类

mapper:

       放置xml文件 主页是用于写比较复杂的查询sql 【目前不支持insert select update 等标签再嵌入其他标签或者表达式】,

目的是清晰可见sql【放在c#里面结构不是很清晰】。//可能大佬看到这里会说怎么不把业务放到服务端,使用这个客户端调用就行,因为这里是做敏捷开发,数据库是使用sqlite,如果需要对接后端接口,可以使用远程调用的根据,我会把这部分放到文章最末尾端。

project:

      放置业务代码 按模块区分 里面只有service的实现==》仿java

工具层级已有 远程调用接口的工具、excel导入导出的工具、mysql/sqlite/oracle的sql生成工具、xml解析注入工具、word生成工具等等。

纠正一下,今天偶然看了一下b站的 一个c#客户端的项目教程

===============================

关于项目的搭建:

项目结构是分为三层: 【主要是层级和类库  按单个解决方案肯定大于三个】

一、UI表现层,展示的界面

如我上图所示

二、BLL业务逻辑,具体业务的一组装层,对数据访问层返回的结构做处理 【类似java的service层】

三、DAL 数据访问层,直接操作数据库 【类似java的dao层】

四、实体模型层:Models 贯穿三层,传递数据

五、辅助工具的层:Common层

所以项目最上面的规划需要调整,在此写这么多是为了防止新手看到 会走错路。

本文来源于:宋文超super,专属平台有csdn、思否(SegmentFault)、 简书、 开源中国(oschina),转载请注明出处。

你可能感兴趣的