第一章 XAML概览

1.1 XAML是什么?

XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言。也就是说在开发一个应用程序时,我们可以将开发工作分成开发人员和设计人员两个团体分别进行,各自负责后台程序代码逻辑和前台程序界面的设计,这样就使得开发人员和设计人员之间的协作更通畅,也极大地发挥了他们的专长。

注意:下次,当你在面试被问到:“什么是XAML”时,你可以回答:XAML是WPF技术中专门用于设计UI的语言。

1.2 XAML的优点

前面一节已经向我们透露了XAML的几个优点:
• XAML可以设计出专业的UI和动画——好用
• XAML不需要专业的编程知识,它简单易懂、结构清晰——易学
• XAML使设计师能直接参与软件开发,随时沟通、无需二次转化——高效
然而,XAML这位翩翩君子的才华可远不止这些。
自从应用程序从命令行界面(Console User Interface,CUI,这本书的读者还有用过DOS的吗?就是那东西)升级为图形用户界面(Graphic User Interface,GUI)后,程序员们就一直追求将视图(View,也就是UI)与逻辑代码的分离。以往的开发模式中,程序员很难保证用来实现UI的代码完全不与用来实现程序逻辑的代码纠缠在一起。UI代码与逻辑代码纠缠在一起称为UI与逻辑的紧耦合,它往往带来以下的后果:
• 无论是软件的功能还是UI设计有所变化或者是出了bug,都将导致大量代码的修改。
• 会让逻辑代码更加难以理解——修改往往比重写更困难,因为在修改之前必须先读懂。
• 重用逻辑代码变成了Mission Impossible
XAML 另一个巨大的优点就是:它帮助开发团队真正实现了UI与逻辑的剥离。XAML是一种单纯的声明型语言,也就是说,它只能用来声明一些UI元素、绘制UI和动画(在XAML里实现动画是不需要编程的),根本无法在其中加入程序逻辑,这就强制地把逻辑代码从UI代码中赶走了。这样,与UI相关的元素统统集中在程序的UI层、与逻辑相关的代码统统集中在程序逻辑层,形成了一种“高内聚-低耦合”的结构。形成这种结构后,无论是对UI进行较大改动还是打算重用底层逻辑,都不会花费太大力气。这就好比有一天你给A客户做了一个橘子,A客户很喜欢;A客户把你的产品介绍给了B客户,B客户很喜欢橘子味道,但希望它看上去像个香蕉——这时候,你只需要把橘子皮撕下来、换一套香蕉皮即可——只需很少的成本就可以获得与先前一样大的收益。(对于软件的“换肤”行为,WPF提供了丰富的Template功能。

上一篇:小程序 iphone X 吸底按钮适配


下一篇:RNN(2) ------ “《A Critical Review of Recurrent Neural Networks for Sequence Learning》RNN综述性论文讲解”(转载)