首页 > 其他分享 >每日总结

每日总结

时间:2023-12-07 20:04:45浏览次数:26  
标签:总结 组合 对象 每日 模式 UML 节点 客户端

一下是我总结的uml相关知识

UML的核心图:

  • 用例图(Use Case Diagrams): 描述系统的功能和用户之间的关系。
  • 类图(Class Diagrams): 描述系统中的类、类之间的关系以及类的属性和方法。
  • 时序图(Sequence Diagrams): 展示系统中对象之间的时序关系,特别适用于描述交互和消息传递。
  • 状态图(State Diagrams): 描述对象在不同状态之间的转换。
  • 活动图(Activity Diagrams): 描述系统中活动的流程,用于建模业务流程、工作流等。

其他常见UML图:

  • 组件图(Component Diagrams): 描述系统中的组件及其相互关系。
  • 部署图(Deployment Diagrams): 描述系统中物理节点(硬件)的布局和关系。
  • 通信图(Communication Diagrams): 类似于时序图,展示对象之间的交互,但强调对象之间的合作。

UML建模原则和概念:

  • 继承和泛化: 类之间的继承关系,用于描述一个类如何从另一个类派生而来。
  • 关联和聚合: 描述类之间的关系,包括强关联、弱关联、聚合和组合关系。
  • 多态: 对象可以以多种形式呈现,使得同一个操作可以以不同的方式作用于不同的对象。

UML工具:

  • 有多种工具可用于创建和编辑UML图,如Enterprise Architect、Visual Paradigm、Lucidchart等。

UML的应用:

  • UML广泛用于软件工程中的系统分析和设计,但也可用于其他领域,如业务流程建模、网络协议设计等。

UML版本:

  • UML经过多个版本的发展,每个版本都引入了新的元素和改进。常见的版本包括UML 1.x、UML 2.0、UML 2.5等。

UML作为一种标准建模语言,为软件开发提供了一种统一的、可视化的方法,有助于降低开发过程中的复杂性,提高沟通效率。

在软件设计中,组合模式是一种结构型设计模式,其主要目的是允许客户端统一处理单个对象和对象组合。组合模式以树形结构组织对象,使得客户端能够一致地处理单个对象和对象的组合。以下是一些常见的组合模式和它们的组合形式:

以下是软件设计的各种组合模式及其介绍:

1.透明组合模式:

2.在透明组合模式中,客户端对单个对象和组合对象使用相同的接口,而无需关心具体是单个对象还是组合对象。这就要求所有的组件都实现相同的接口,包括叶子和容器。

3.安全组合模式: 

4.在安全组合模式中,单个对象和组合对象有不同的接口。客户端需要明确地区分对待单个对象和组合对象。这就意味着容器对象需要提供特定的方法来管理其子对象。

5.树形结构组合模式:

6.这是组合模式的基本形式,其中对象以树形结构组织,根节点是容器,叶子节点是单个对象。客户端通过统一的接口遍历整个树形结构。

7.菜单和菜单项的组合模式:

8.这是一个常见的应用场景,其中菜单可以包含菜单项,而菜单项本身也可以是一个菜单。这种嵌套的结构很好地适用于组合模式。

9.文件系统的组合模式:

 

最后是我对组合模式的总结:

 

组合模式是一种结构型设计模式,旨在将对象组织成树形结构以表示"部分-整体"的层次关系。组合模式使得客户端能够以统一的方式处理单个对象和对象的组合。这种模式对于处理树状结构的对象非常有用,如文件系统、图形用户界面元素等。
在组合模式中,有两种主要的对象类型:

 

1.叶子节点(Leaf): 表示树的最终节点,它不包含其他节点。
2.容器节点(Composite): 表示可以包含其他节点的节点,它可以是叶子节点或其他容器节点的集合。

 

组合模式的关键思想是将叶子节点和容器节点都看作相同类型的对象,它们共享同一套接口。这使得客户端无需区分操作的是单个对象还是组合对象,从而简化了客户端的代码。
下面是一个简单的组合模式的例子,以图形界面元素为例:
// Component 接口
interface UIElement {
void draw();
}

 

// Leaf 叶子节点
class Button implements UIElement {
@Override
public void draw() {
System.out.println("Drawing a button");
}
}

 

// Leaf 叶子节点
class TextBox implements UIElement {
@Override
public void draw() {
System.out.println("Drawing a text box");
}
}

 

// Composite 容器节点
class Panel implements UIElement {
private List<UIElement> children = new ArrayList<>();

 

public void add(UIElement element) {
children.add(element);
}

 

@Override
public void draw() {
System.out.println("Drawing a panel");
for (UIElement child : children) {
child.draw();
}
}
}

 

// Client 客户端代码
public class Client {
public static void main(String[] args) {
UIElement button = new Button();
UIElement textBox = new TextBox();

 

Panel panel = new Panel();
panel.add(button);
panel.add(textBox);

 

panel.draw(); // 绘制整个界面,包括按钮、文本框和面板
}
}

 

在上述例子中,UIElement 是组合模式的统一接口,Button 和 TextBox 是叶子节点,Panel 是容器节点。客户端可以通过统一的方式调用 draw 方法,而无需知道具体是哪种类型的 UI 元素。这种设计使得添加新的元素或者组合更为灵活,同时也让客户端代码更为简洁。

 

10.文件系统也是一个常见的组合模式应用场景。文件夹可以包含文件夹和文件,而文件夹和文件都是文件系统的组件。

11.图形用户界面(GUI)的组合模式: 

12.在GUI中,窗口、按钮、文本框等可视化元素可以通过组合模式来组织,使得用户界面的构建更加灵活和可扩展。

13.组合模式与装饰器模式的结合

14.组合模式和装饰器模式可以结合使用,以实现对对象的层次性和动态性的组合。这种结合可以用于创建具有复杂结构的对象,并能够在运行时动态地添加或删除功能。

 

标签:总结,组合,对象,每日,模式,UML,节点,客户端
From: https://www.cnblogs.com/baijingyun/p/17883807.html

相关文章

  • UML九个常用图总结
    用例图(UseCaseDiagram)是UnifiedModelingLanguage(UML)中的一种图表类型,用于描述系统的功能需求和系统与外部实体(称为参与者)之间的交互。以下是用例图的一些关键元素和说明:1.参与者(Actors):2.定义:表示与系统交互的外部实体,可以是人、其他系统或者外部组件。3.符号:通常用简单的......
  • 每日学习之UML
    一、类图类图是用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系。类之间的关系有依赖、泛化(继承)、实现、关联、聚合与组合各种关系的图形化表示如下图所示UML类图中的类有抽象类(abstract)接口类(interface)UML类图中的类分为三层,第一层是类名,第二层是类的静......
  • uml各类图的总结以及示例
     类图主要关注系统中的类和对象。每个类通常用一个矩形框表示,包含类名,类的属性和方法。 关系的表示类图通过连接线表示不同类之间的关系。常见的关系包括继承(泛化)、关联、聚合、组合等。 继承关系表示类之间的继承关系,其中一个类是另一个类的子类。箭头指向父类。 关......
  • uml学习总结
    UML(UnifiedModelingLanguage)是一种用于软件系统建模的标准化语言,它提供了一组图形符号和规范,以便开发人员可以更好地理解、设计和构建复杂的软件系统。UML包括多种图表,每种图表都有不同的目的和应用场景。1.用例图(UseCaseDiagrams)特点:用例(UseCase)是描述系统功能的一......
  • 每日总结_20231207
    UML(UnifiedModelingLanguage)是一种用于软件系统建模的标准化语言,它提供了一组图形符号和规范,以便开发人员可以更好地理解、设计和构建复杂的软件系统。UML包括多种图表,每种图表都有不同的目的和应用场景。1.用例图(UseCaseDiagrams)特点:用例(UseCase)是描述系统功能的一......
  • UML总结
    UML(UnifiedModelingLanguage)统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。UML是在开发阶段,说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法。最佳的应用是工程实践,对大规模,复杂......
  • 2023-2024 20231302《计算机基础与程序设计》第十一周学习总结
    作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十一周作业这个作业的目标计算机网络、网络拓扑、云计算、网络安全、Web、HTML,CSS,Javascript、XML作业正文https://www.cnblogs.com/9q2z2z......
  • PTA第三次总结
    这次是对PTA第七次和第八次的总结,经过上次菜单5次迭代后我对类的设计更加深刻,而这次面对课程成绩统计的迭代二,由于迭代一我还是面向过程写的,多以毫不犹豫我重构了类图,但由于个人原因不小心误删了,所以没有类图展示(,重构代码后只剩两个测试点过不了,因为没有给测试点所以只能结束后取......
  • UML各种图总结
    UML是一种用于软件系统设计和建模的标准化图形化语言。UML提供了一套丰富的图形符号,用于表示系统的不同方面。当谈论面向对象的软件设计和建模时,类图是一种非常重要且广泛使用的工具。它是UnifiedModelingLanguage(UML)中的一种结构图,用于描述系统中的静态结构,特别是类、接口、......
  • 每日总结-23.12.6
    packagetupian;/*importjavax.swing.*;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.util.Base64;publicclassT......