一、UML图
一)分类:
1)用例视图——用例图
- 是谁用软件。软件的功能。
- 从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
2)设计视图:
1、类图
- 用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。
-
泛化(Generalization):
-
实现(Realization)
-
关联(Association)
-
聚合(Aggregation)
-
组合(Composition)
-
依赖(Dependency)
2、对象图
- 描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。
3)进程视图:
1、状态图
- 状态图是用来描述不同的对象在其生命周期的状态。因此,强调的是一些内部或外部事件的状态发生变化时,这些对象的状态要重要的分析和准确的贯彻落实。
2、活动图
- 是状态图的一种特殊情况,这些状态大都处于活动状态。本质是一种流程图,它描述了活动到活动的控制流。
- 活动图则强调的是从活动到活动的控制流。
- 一般活动图
- 带泳道的活动图:泳道表明每个活动是由哪些人或哪些部门负责完成。
- 带对象流的活动图:把涉及到的对象放置在活动图中,并用一个依赖将其连接到进行创建、修改和撤销的动作状态或者活动状态上。
3、时序图
- 描述了对象之间消息发送的先后顺序,强调时间顺序。
- 消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。
4、协作图
- 描述了收发消息的对象的组织关系,强调对象之间的合作关系。时序图按照时间顺序布图,而写作图按照空间结构布图
4)实现视图——构件图
- 构件图是用来表示系统中构件与构件之间,类或接口与构件之间的关系图。
- 构建图之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。
5)拓扑视图——部署图
- 描述了系统运行时进行处理的结点以及在结点上活动的构件的配置。强调了物理设备以及之间的连接关系。
二、C#高级编程
一)特性(Attribute)
- 定义:
– 是一种标签,能够对代码(程序集、类型、方法、属性等)进行声明,这些声明被封装成元数据添加到程序。
– 可通过反射来获取某代码的特性。
– 特性可自定义。
[Serializable]
public class SampleClass
{
// Objects of this type can be serialized.
}
二)反射(Reflection)
- 定义:
– 通过反射来检索某代码的特性信息。
– 主要方法: GetCustomAttributes,它返回对象数组。 - 以下代码实现了
– 自定义特性
– 通过反射获取特性信息
using System