如何在Winform、WPF和未来占据主导地位的UWP之间最大程度实现代码重用

1 Winform架构

该界面框架现在可谓如日中天,使用及其方便,直接拖拽控件。但非常不幸的是,微软正在把该架构送入坟墓。

2 WPF架构

微软2006年引入,非常成熟的界面框架,真正实现了界面代码(interface code)和逻辑代码(logic code)的彻底分离。能够设计出绚丽的软件界面,但是技术非常复杂,往往让.NET初学者望而却步,
使用WPF,需要掌握标记语言XAMP,更需要掌握复杂的依赖属性,路由事件等。
但是使用标记语言做界面设计已是大势所趋,Qt也开始引入Quick框架,使用QML标记语言。
在了解Qt的过程中,发现怎么和WPF那么像,Quick框架等价于WPF框架,如果说XAML是强化的HTML,那么QML则是加强版的JavaScript。

3 UWP框架

夸张一点说,这是微软打算在未来统一宇宙编程开发的界面框架。也是使用XAML标记语言。在我看来,该框架目前还不成熟,目前微软正忙于争夺云市场,还无暇东顾。不得不说微软2017年8月14日发布的.NET Core非常强悍,主要瞄准跨平台,云技术,但是对桌面级应用可谓没什么进展。如果现在开始学习微软的技术,最值得学习的是ASP.NET Core,基于RESTful架构的WebAPI轻量级Web服务的开发和基于新Razor Page技术的WebApp应用开发。

4 如何实现代码最大程序重用

答案已非常明显了,在逻辑代码层不要使用任何有关框架的代码。如果你的DLL中使用了Winform窗体或者WPF窗体,那么这将是非常糟糕的架构设计。
可封装的DLL专门处理GUI控件,只在使用DLL的最上层exe中使用界面框架技术。在其他的DLL中不要使用任何窗体,甚至不引用有关窗体的任何程序集。

你可能感兴趣的:(开发工具,WPF,UWP)