目录
ASP.net 微软新一代脚本语言,创建动态Web页的一种强大的服务器端技术
Avalinia 一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。
1.三层架构
1.表示层,逻辑层,数据层够成的架构模式称为三层架构。
表示层(UI): 将数据和流程过程结果展示给用户看。
业务逻辑层(BLL):根据需求使用计算机程序表达现实的业务逻辑。
数据层(DAL): 用于存储数据,多由数据库构成,有时也用数据文件辅助存储数据。
高内聚,低耦合思想,把程序功能块划分。
2.数据操作层的划定
a.将数据操作的逻辑代码置于业务逻辑层时,数据访问成为一种业务逻辑。表示层对于数据的访问与业务逻辑层对应数据的操作调用的是相同的方法。
b.将所有的数据读取操作存放在数据层时,只需要在业务层再定义一个方法供表示层调用。
C.实体类
在三层架构的各层模块之间,通过对象模型的实体类作为数据传递的载体,不同的对象模型的实体类一般对应于数据库的不同表,实体类的属性与数据库表的字段名一致。
2.表现模式与架构模式
表现模式:
通过分离关注点来改进代码的组织方式。表现模式侧重于解决代码组织,往往使用了多种设计模式,因此其也称作复合设计模式。
设计模式:
为了解决一类问题而总结出来的抽象方法。
架构模式:
描述软件系统里的基本的结构组织或纲要。架构模式提供一些呈现定义好的子系统,指定它们的责任,并给出把它们组织在一起的法则和指南。
3.MVC模式
MVC模式是GUI界面开发的指导模式。它基于表现层功能划分的思想把程序分为三大部分
MVC的设计目的是实现功能结构的规划。
模型(Mode):处理程序逻辑,获取和存放数据。
视图(View):显示数据,提供用户交互界面。
控制器(Controller):处理用户交互,从View读取数据,向Model发送数据。
4.MVVM模式
MVVM即Model-View-ViewModel ,它是一种基于前端开发的表现模式,其核心是提供对View和ViewModel的双向数据绑定,这使得ViewModel的状态改变可以自动传递给View.
MVVM模式下各个部分之间的厂家依赖关系
1.ViewMode可以直接获取到Model的信息
2.模型不能直接获取ViewModel的信息
3.ViewModel也不能直接获取View的信息
5.表示层的程序功能划分
1.数据模型:实现世界中事物和逻辑的抽象。
2.业务逻辑:数据模型之间的关系交互。
3.用户界面:由控件构成的,与用户进行交互的界面,用于把数据展示给用户并响应用户的操作。
4.界面逻辑:控件与控件之间的关系与交互逻辑。
6.事件驱动
事件驱动通过“事件-订阅-事件处理”的关系组织用于程序。事件驱动下,用户进行每一个操作会激发程序发生的一个事件,事件发送后,用于响应事件的事件处理器就会执行。
7.数据驱动
数据驱动的理念下,数据占主动地位,也就是由内容决定形式。数据驱动的桥梁是双向数据绑定,通过Data Binging可以实现数据流向界面,界面也可以将事件流会数据源。
8.XAML概述
XAML是一种新的可扩展应用程序标记语言,是WPF中专门用于设计UI的语言,是一种单纯的声明型语言。
XAML语言作为编程代码的替代方法,用于实例化和初始化对象,以及在父子层次结构中组织这些对象。
9.声明标签
在XAML语言中,使用标签声明一个元素,每个元素对应内存中的一个对象。可以通过标签的语法进一步声明元素的特征 Attribute 和内容物。有两种表现形式。
<Tag Attribute1="vALUE1" Attribute2="value2">Content</Tag> <!--非空标签-->
<Tag Attribute1="vALUE1" Attribute2="value2" /> <!--空标签-->
<Grid> <!--内容启始符-->
</Grid>
<Window/> <!--结束标签符-->
特征和属性
元素的部分特征会与部分属性相映射
属性:类中用来表示事物状态的成员,是对现实事物在程序中的抽象模型的数据表达。
特征:语言表达层面上用于区分元素的特征表达,与抽象出来的对象无关。
XMLNS
xmlns即XML-Namespace,其一个使用优点是,当耀引用的来源不同类重名时,可以使用命名空间加以区分。XAML中命名空间的语法与C#是不同的,在C#中,我们使用using关键字在代码顶部调用命名空间,在XAML当中的语法格式是:
xmlns="[命名空间]" <!--无映射前缀-->
xmlns=[映射前缀]="[命名空间]" <!--有映射前缀-->
在使用XAML语法声明元素标签时,其对应声明的对象与对象之间的关系要么是包含,要么是并列关系,所以我们又说,XAML的语法结构是一种数形的包含或并列结构。
Rectangle类
WPF中用于绘制矩形的类为Rectangle类,改类有一个Fill属性用于对矩形进行颜色填充。Rectangle.Fill的赋值类型式Brush.Brush是画刷,是一个抽象类,其拍摄类有单色画刷(SolidColorBrush),线性渐变画刷(LinearGradientBrush)和位图画刷(ImadeBrush)等等。
原理讨论
如果使用XAML对一个类的属性进行特征声明,那么其逻辑代码中必然要有将特征赋值字符串转换为属性值的赋值机制。
XAML中对特征进行声明使用的是字符串。如果要对属性进行复杂赋值或内部精确赋值,那么就会使得XAML设计者在为此编写转换机制时十分困难。
XAML属性赋值的简化
为了使得XAML尽可能简化表达,我们应该尽可能遵循下面的规则:
能使用直接特征赋值就不使用元素属性赋值的形式。
充分利用默认值。
允许使用XAML的简写形式。
10.标记扩展(数据绑定)
XAML标记扩展构成了XAML中的一项重要功能,允许将属性这种为从其他源间接引用的对象或值。XAML标记扩展对于共享对象和引用整个应用程序中使用的常量特别重要,但它们在数据绑定中找到了最大的效用。
PS:数据绑定,比如滑动元素,对应的数值,可以双向改变。
11.事件处理
.NET的事件处理机制中,可以为对象的某个事件指定一个能与该事件匹配的成员方法,当这个事件发生时,NET运行时就会去调用这个方法,表示对这个事件的响应和处理。
<Button Morgin="5" Content="OK" Click="Button_Click"/>
在对应CS代码中自动生成Click事件程序。
12.XAML 注释
1.注释只能出现在标签的内容区域。
2.注释不能用于注释掉标签的特征赋值。
3.注释不能嵌套。
13.XAML优点
1.通用比等效代码更简洁更易读
2.以更高的视觉清晰度模拟用户界面对象的父子层次结构。
3.程序轻松手动编写,但也使它成为可视化设计工具的可操作性和生成工具。