技术总结:winform和wpf的区别 以及 项目的“设计规划”掌握java动态代理及原理有多难?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术总结:winform和wpf的区别 以及 项目的“设计规划”掌握java动态代理及原理有多难?相关的知识,希望对你有一定的参考价值。
一、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层
所以项目最上面的规划需要调整,在此写这么多是为了防止新手看到 会走错路。
以上是关于技术总结:winform和wpf的区别 以及 项目的“设计规划”掌握java动态代理及原理有多难?的主要内容,如果未能解决你的问题,请参考以下文章