Think in UNL其一
书中提到世界本质上为离散的,由一个一个对象组成。其实这个观点并不难理解,因为在公元前5世纪芝诺就有了类似的思考,著名的阿基里斯悖论早已经被推翻,现代物理学已经证明了时间和空间不是可以无限分割的,所以总有最为微小的一个时间里,阿基里斯和乌龟共同前进了一个空间单位,从此阿基里斯顺利超过乌龟。既然时间和空间都是不可分割的那么就是说所有的东西都是离散的,总会由其基本组成构成。面向对象也是这样,将世间万物抽象化,使之分离为基本概念,使得事物间的联系变得简单且不再模糊不清。这样有助于将复杂的事情简单化。这使得对象只需要对外界的请求作出反应即可,外部不再需要知道对象里面具体做了什么,外界只需要拿到对象传出的消息就可以继续工作。
UML名为统一建模语言,所做之事与两千年前秦始皇统一度量衡差不多,使得软件生产的各个部门都可以看懂这门语言所表达的意思。众所周知图形携带的信息远远超出了文字,试问谁可以准确的描述出蒙娜丽莎究竟是怎样的一幅画呢?所以UML大量使用了图形化的语言,使得建模过程简单清晰,使读者容易理解。
UML与RUP不是一体的。
先了解一个软件项目是怎么做的,再去UML中寻找需要的工具,用UML中适合的工具把软件过程要达到的要求
记录下来。
建模,是指通过对客观事物建立一种抽象的方法用以表征事物并获得对事物本身的理解,同时把这种理解概念化
,将这些逻辑概念组织起来,构成一种对所观察的对象的内部结构和工作原理的便于理解的表达。
对复杂的事物进行适当的抽象,有助于让人们更好的理解事物。但不可过分抽象,过分抽象会丧失过多的信息,使得人们更加难以理解事物。
如盲人摸象,千形万态,每个人从每个视角对于大象的理解是不同的。软件开发也是一样,需要不同的视图去展示软件这些不同的方面——静态的、动态的、结构的、逻辑性的等,才能说建立了一个完整的模型,恰好UML里就定义了用例图、对象图、类图、包图、活动图等不同的视图。
对象分析方法
·一切都是对象
·对象都是独立的
对象与对象之间是天然独立的,只有在某个特定的场景下,他们的某一个特定的实例才相互联系在一起。
对象是离散的,它不是因为该场景才存在的。对象实例与场景结合,然而这只是对象的一部分罢了。我们如果从一个场景就想了解对象的全部面貌,那么真的就是在摸象鼻了。
Think in UNL其一的更多相关文章
- UNL/EVE关联putty和wireshark
这里默认UNL已经安装完毕,然后启动虚拟机启动UNL. 在浏览器输入http://192.168.1.199/ 进入UNL.然后简单的搭建一个拓扑: 这里只讲R1和ASA开启,先来配置Telnet功能 ...
- 如何在ASP.Net创建各种3D图表
我们都知道,图表在ASP.NET技术中是一种特别受欢迎而又很重要的工具.图表是表示数据的图形,一般含有X和Y两个坐标轴.我们可以用折线,柱状,块状来表示数据.通过图表控件,我们即能表示数据又能比较各种 ...
- LOCK TABLES和UNLOCK TABLES与Transactions的交互
LOCK TABLES对事务不安全,并且在试图锁定表之前隐式提交任何活动事务. UNLOCK TABLES只有在LOCK TABLES已经获取到表锁时,会隐式提交任何活动事务.对于下面的一组语句,UN ...
- ASP.Net中实现上传过程中将文本文件转换成PDF的方法
iTextSharp是一个常用的PDF库,我们可以使用它来创建.修改PDF文件或对PDF文件进行一些其他额外的操作.本文讲述了如何在上传过程中将文本文件转换成PDF的方法. 基本工作 在开始之前,我们 ...
- CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset
一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...
- 浅析java内存模型--JMM(Java Memory Model)
在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步? 在Java语言中,采用的是共享内存模型来实现多线程之间的信息交换和数据同步的. 线程之间通过共享程序公共的状态,通 ...
- java web学习总结(三十一) -------------------EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- css随笔1
1.简单清除浏览器样式 *{ padding: 0px; margin: 0px; } 2.得到屏幕范围的div html,body{ width: 1 ...
- 手把手教你玩转nginx负载均衡(三)----配置虚拟服务器网络
引言 虽然上一篇我们成功的启动了虚拟机,也安装好了操作系统,但是这台虚拟机和主机以及其他虚拟机是没有办法连通的,我们的目标是配置多台服务器并且配置nginx反向代理,来实现负载均衡,所以不能访问内网是 ...
- Box Model,边距折叠,内联和块标签,CSSReset
一.盒子模型(Box Model) 1.1.宽度测试 1.2.溢出测试 1.3.box-sizing属性 1.4.利用CSS画图 二.边距折叠 2.1.概要 2.2.垂直方向外边距合并计算 三.内联与 ...
随机推荐
- clickhouse-数据副本踩坑
数据副本--失败,看日志 vim /var/log/clickhouse-server/clickhouse-server.err.log select * from system.replicati ...
- MySQL中的sql优化
目标: 掌握SQL调优的原则 掌握SQL调优的基本逻辑 掌握优秀SQL的编写方案 掌握何为慢SQL以及检测方案 SQL优化原则 1.减少数据量(表中数据太多可以分表,例如超过500万数据 双11一个 ...
- :)模型保存为单一个pb文件
模型保存为单一个pb文件 背景 参考连接: https://www.yuque.com/g/jesse-ztr2k/nkke46/ss4rlv/collaborator/join?token=XUVZ ...
- mybatis_01 初运行
maven坐标 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</ ...
- Winform帮助文档(C#打开chm定位到特定页面)国内最全总结写法。原文文档带翻译
下面比较啰嗦,只一句即可:Help.ShowHelp(null,"C:\help.hcm", HelpNavigator.Topic,"index.htm")方 ...
- 百题计划-6 codeforces 651 div2 E. Binary Subsequence Rotation 01序列集合划分,2个队列处理
https://codeforces.com/contest/1370/problem/E 队列元素以末尾字符为结尾的序列就好了,这里队列里的元素不重要,队列size重要 #include<bi ...
- Jmeter固定吞吐量控制器Constant Throughput Timer
控制请求的TPS,可以使用JMETER的固定吞吐量控制器Constant Throughput Timer Target throughput(in samples per minute):目标吞吐量 ...
- esxi虚拟机定时创建快照
1.vim-cmd vmsvc/getallvms 列出所有虚拟机信息 2.获取需要备份的虚拟机的Vmid 3.执行快照 vim-cmd vmsvc/snapshot.create Vmid $( ...
- nginx: the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf
Nginx如果未开启SSL模块,配置Https时将提示如题错误 原因:nginx缺少http_ssl_module模块,编译安装的时候带上--with-http_ssl_module配置就行了,但是现 ...
- hdrp package导入工程
补充: 可以直接把包提出来放一个单独文件夹 然后在package manager中load from disk,跟下面手动改效果没区别 如果发现有各种引用丢失,在工程内对包reimport下 1 需要 ...