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

本文对比了WPF与WinForm的区别,指出WPF的前后端分离、XAML语法、控件自适应和数据绑定优势。在项目设计规划方面,提出了一种模仿Java特性的三层结构方案,包括UI、BLL、DAL,并讨论了数据库管理和敏捷开发策略。
摘要由CSDN通过智能技术生成

一、winform和wpf的区别:

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

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

a9b0211f63a57f2c5c3e47ebb457b73a.png

b5c9db6e98c7a931a8989ce87f7b54a7.png

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

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

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

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

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

55631087a2192a67d5d89281a96096b0.png

二、项目的设计规划

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

sys【系统文件夹】:

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

mapper:

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

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

project:

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

7b48ed7936a24f06a9a64b858b3738ef.png

1e1db1b1f02c04adfddbdf5abc6b27b4.png

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

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

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

关于项目的搭建:

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

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

如我上图所示

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

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

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

五、辅助工具的层:Common层

所以项目最上面的规划需要调整,在此写这么多是为了防止新手看到 会走错路。本文来源于:宋文超super,专属平台有csdn、思否(SegmentFault)、 简书、 开源中国(oschina),转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值