[图解]分析工作流 04

2024-08-27 13:04
文章标签 分析 工作 图解 04

本文主要是介绍[图解]分析工作流 04,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1
00:00:00,410 --> 00:00:04,980
这一步跟我们的数据库建模是很相像的

2
00:00:05,770 --> 00:00:08,850
如果说你不熟悉面向对象的建模

3
00:00:08,860 --> 00:00:09,800
不熟悉UML

4
00:00:09,810 --> 00:00:11,560
你说你熟悉数据库

5
00:00:12,650 --> 00:00:14,480
你就把它当成数据库建模好了

6
00:00:14,490 --> 00:00:17,430
就是说,假设我这个系统

7
00:00:19,260 --> 00:00:20,520
要用关系数据库

8
00:00:20,530 --> 00:00:21,840
来保存数据的话

9
00:00:23,270 --> 00:00:24,590
里面应该有哪些表

10
00:00:27,240 --> 00:00:27,890
这里的表

11
00:00:28,750 --> 00:00:30,510
跟我们面向对象的实体类

12
00:00:31,670 --> 00:00:33,050
基本上是一一对应的

13
00:00:35,380 --> 00:00:41,930
当然了,面向对象和关系数据库

14
00:00:42,770 --> 00:00:44,050
它并不是绑定的

15
00:00:46,240 --> 00:00:48,240
任何系统你都可以

16
00:00:48,250 --> 00:00:50,040
用面向对象的方式来建模

17
00:00:52,770 --> 00:00:56,450
不管你存储数据是不是用关系数据库

18
00:00:59,230 --> 00:01:02,740
比如说,电梯

19
00:01:03,560 --> 00:01:07,620
我们进了电梯按个5 

20
00:01:07,630 --> 00:01:09,010
电梯就记录了某些东西

21
00:01:10,390 --> 00:01:11,490
然后它就往上走了

22
00:01:12,850 --> 00:01:13,730
到了5楼

23
00:01:14,390 --> 00:01:15,660
它会把门打开

24
00:01:17,950 --> 00:01:18,500
很神奇吧

25
00:01:19,480 --> 00:01:20,160
说明什么

26
00:01:20,170 --> 00:01:22,350
它刚才记住了某些东西了

27
00:01:23,430 --> 00:01:28,160
请问,刚才它记住了什么样的信息

28
00:01:29,700 --> 00:01:30,500
什么样的概念

29
00:01:33,520 --> 00:01:36,200
我们能不能说,它记住了一个整数5,可以吗

30
00:01:37,360 --> 00:01:38,600
代码这样写,可以吗

31
00:01:39,230 --> 00:01:40,510
定义一个整型变量

32
00:01:40,520 --> 00:01:42,010
目标楼层,等于5,可以吗

33
00:01:42,270 --> 00:01:42,660
可以的

34
00:01:43,650 --> 00:01:47,720
但是这个不是我们的恰当的抽象

35
00:01:48,640 --> 00:01:49,720
因为整数

36
00:01:50,730 --> 00:01:52,730
这个不是电梯调度

37
00:01:52,740 --> 00:01:54,290
这个领域里面的概念

38
00:01:55,610 --> 00:01:59,530
哪个才是,这个才是,电梯、楼层

39
00:02:00,960 --> 00:02:02,060
我们按5的时候

40
00:02:02,880 --> 00:02:05,870
实际上是在电梯和5楼

41
00:02:05,880 --> 00:02:07,190
这个目标(口误)楼层之间

42
00:02:07,200 --> 00:02:10,660
建立了一个关联,什么关联呢

43
00:02:11,350 --> 00:02:12,910
目标楼层的关联

44
00:02:15,470 --> 00:02:20,140
而电梯跟楼层还有别的关联

45
00:02:20,150 --> 00:02:21,820
有当前楼层关联

46
00:02:22,620 --> 00:02:25,290
楼层跟楼层有上下层关联

47
00:02:26,500 --> 00:02:27,850
这个才是核心概念

48
00:02:30,060 --> 00:02:32,530
只要你有电梯调度这个领域

49
00:02:33,290 --> 00:02:36,980
那么这个概念都是成立的

50
00:02:39,290 --> 00:02:40,710
不管你用什么方法来实现

51
00:02:40,840 --> 00:02:43,620
比如说,一个电梯有多个目标楼层

52
00:02:48,320 --> 00:02:49,960
你可以用数组实现

53
00:02:49,970 --> 00:02:52,230
用列表实现,用什么实现都可以

这篇关于[图解]分析工作流 04的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1111742

相关文章

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin