第三周——UML/C#高级编程

本文详细介绍了UML的各种视图,包括用例图、类图、状态图、活动图、时序图、协作图、构件图和部署图。接着探讨了C#的高级特性,如特性、反射、委托、匿名方法、Lambda表达式、事件、扩展方法以及LINQ的使用。
摘要由CSDN通过智能技术生成

一、UML图

一)分类:

1)用例视图——用例图

  • 是谁用软件。软件的功能。
  • 从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
    在这里插入图片描述

2)设计视图:

1、类图
  1. 用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。
    在这里插入图片描述
  • 泛化(Generalization):
    在这里插入图片描述

  • 实现(Realization)
    在这里插入图片描述

  • 关联(Association)
    在这里插入图片描述

  • 聚合(Aggregation)
    在这里插入图片描述

  • 组合(Composition)
    在这里插入图片描述

  • 依赖(Dependency)
    在这里插入图片描述

2、对象图
  1. 描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例
    在这里插入图片描述
    在这里插入图片描述

3)进程视图:

1、状态图
  1. 状态图是用来描述不同的对象在其生命周期的状态。因此,强调的是一些内部或外部事件的状态发生变化时,这些对象的状态要重要的分析和准确的贯彻落实。
    在这里插入图片描述
2、活动图
  1. 是状态图的一种特殊情况,这些状态大都处于活动状态。本质是一种流程图,它描述了活动到活动的控制流。
  2. 活动图则强调的是从活动到活动的控制流。
  • 一般活动图
    在这里插入图片描述
  • 带泳道的活动图:泳道表明每个活动是由哪些人或哪些部门负责完成。
    在这里插入图片描述
  • 带对象流的活动图:把涉及到的对象放置在活动图中,并用一个依赖将其连接到进行创建、修改和撤销的动作状态或者活动状态上。
    在这里插入图片描述
3、时序图
  • 描述了对象之间消息发送的先后顺序,强调时间顺序。
  • 消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。
    在这里插入图片描述
4、协作图
  • 描述了收发消息的对象的组织关系,强调对象之间的合作关系。时序图按照时间顺序布图,而写作图按照空间结构布图
    在这里插入图片描述

4)实现视图——构件图

  • 构件图是用来表示系统中构件与构件之间,类或接口与构件之间的关系图
  • 构建之间的关系表现为依赖关系,定义的类或接口类之间的关系表现为依赖关系或实现关系
  • 在这里插入图片描述

5)拓扑视图——部署图

  • 描述了系统运行时进行处理的结点以及在结点上活动的构件的配置。强调了物理设备以及之间的连接关系
  • 在这里插入图片描述

二、C#高级编程

一)特性(Attribute)

  1. 定义:
    – 是一种标签,能够对代码(程序集、类型、方法、属性等)进行声明,这些声明被封装成元数据添加到程序。
    – 可通过反射来获取某代码的特性。
    – 特性可自定义。
[Serializable]
public class SampleClass
{
   
    // Objects of this type can be serialized.
}

二)反射(Reflection)

  1. 定义:
    – 通过反射来检索某代码的特性信息。
    – 主要方法: GetCustomAttributes,它返回对象数组。
  2. 以下代码实现了
    – 自定义特性
    – 通过反射获取特性信息
using System
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值