《大象Thinking in UML》学习笔记(一)
面向过程:以关系的形式来看待世界,牵一发则动全身,事物间互相有因果关系,分析问题的时候是从过程的起点,顺藤摸瓜,分析每个部分,然后走到过程的终点。随着事物的复杂性和不断地变化,要分析所有的因果关系及所有的因素变得非常困难,这个时候就引入了面向对象。从头到尾分析
面向对象:将世界分成了不同的小对象,他们之间看上去是没有关系的,只有在外力的因素下,互相交互形成了生动的世界。
微观上——可爱的论述:对象-人
人有外表,看不到内部,那么这个外皮就是——封装
两个人合起来就成了一个组合,这个组合就是新的对象,这个新对象是拥有两个人的特性的综合——聚合
夫妻可以孕育子女,这个子女拥有了我们所有的能力——继承
人可以买很多衣服,不同的场合可以穿不同的衣服,但是本质上只有一个——接口
多个人可能会有同一件衣服,但是同一件衣服被不同的人穿上身后就有了不同的表现——多态
宏观上——可爱的论述:对象-人
我们人不知道自己的行为对世界造成的改变是什么样的。
我们只知道我们的周围有很多的朋友——依赖
我们与朋友之间保持着联系——耦合
我们都需要自己的独立空间——类属性
我们在沟通的时候都是打开一个小窗户——方法
物以类聚人以群分,我们因为有共同爱好“吃”组成一个吃团,这个寻找共同爱好组成吃团的过程——抽象
吃团——类
我们除了都爱吃外,还有自己的独特的个人,比如有人爱运动,有人爱看书,当我们将爱看书这个特性给了一个人,并且让他去看书,这个过程就是——实例化
在分析对象的时候,我们仅关心与它有关系的几个对象。
对象组装——制动鼓
组成制动鼓的零件,例如螺丝和螺帽,他们不仅仅可以用在制动鼓上,也可以用在其他对方——复用
组成汽车的标准零件不是唯一的,可以被替换掉,这和最终的产品独立
用零件组成刹车,组成发动机,组成底盘,或者组成小车——由小到大-自底向上的抽象过程
汽车由发动机、车架、底盘的大部件组成——由大到小-自顶向下的抽象过程
抽象层次的好处:1、只关心的是该层次上对象是如何工作的;2、底层的改变不影响高层的功能
UML:面向对象分析设计方法中建立现实世界与对象世界的桥梁。
《大象Thinking in UML》学习笔记(一)相关推荐
- 【web编程技术学习笔记】因特网与万维网简介
目录 Client客户端 Server服务器端 TCP/IP五层协议 IP 查看IP地址的的两种方法 TCP URL 样式一 样式二 DNS URL&DNS HTTP 与因特网有关的组织 IE ...
- 程序员编程技术学习笔记
程序员编程技术学习笔记 看july的博客也有好久了,一直没能好好整理一下自己的学习笔记,开了博客之后更加愿意好好整理一番了.其中不免有些内容在july那里可以找到原文,但是更多的加入了我个人的 ...
- JAVA 网络编程技术学习笔记
目录 一.网络编程基本概念(了解) 1.1 计算机网络 1.2 网络通信协议 1.2.1什么是网络通信协议 1.2.2 OSI七层协议模型 1.2.3网络协议的分层 1.3数据的封装和解封 1.4 I ...
- 《ASP.NET MVC4 WEB编程》学习笔记------Web API 续
目录 ASP.NET WEB API的出现缘由 ASP.NET WEB API的强大功能 ASP.NET WEB API的出现缘由 随着UI AJAX 请求适量的增加,ASP.NET MVC基于Jso ...
- java网络编程技术学习笔记(b站【狂神说Java】网络编程实战讲解)
b站视频链接:[狂神说Java]网络编程实战讲解 文章目录 网络编程 1.1.概述 1.2.网络通信的要素 1.3.IP 1.4.端口 1.5.通信协议 1.6.TCP 文件发送 1.7.UDP 1. ...
- SpringBoot整合第三方技术学习笔记(自用)
SpringBoot整合第三方技术学习笔记 搬运黑马视频配套笔记 KF-4.数据层解决方案 KF-4-1.SQL 回忆一下之前做SSMP整合的时候数据层解决方案涉及到了哪些技术?MySQL数据库与My ...
- java mvc框架代码_JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码)
原标题:JAVA技术学习笔记:SpringMVC框架(内附入门程序开发代码) JavaEE体系结构包括四层,从上到下分别是应用层.Web层.业务层.持久层.Struts和SpringMVC是Web层的 ...
- ssm 转发请求_千呼万唤!阿里内部终于把这份SSM框架技术学习笔记分享出来了...
SSM SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项 ...
- 【C#编程基础学习笔记】6---变量的命名
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...
- 【C#编程基础学习笔记】4---Convert类型转换
2013/7/24 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...
最新文章
- 百度地图infowindow
- 计算机联锁仿真软件设计,一种基于LabVIEW的计算机联锁仿真系统的制作方法
- TEE_ObjectHandle在Crypto中的使用
- 【.NET深呼吸】基础:自定义类型转换
- Codeforces Round #724 (Div. 2) 题解
- vb 打印机 任意尺寸_创新小黑管“省心省力”惠普Laser NS 1020 智能闪充激光打印机...
- Web开发小结 - 2
- 一起走过一段不平凡的路
- 奥斯卡公布最佳动画长片初选名单 《哪吒》等32部动画入选
- Kudu : kudu运行的时候-停止master RecoverableException: Failed to connect to peer master
- 里计算两个数的总和_发动机排量怎样计算?懂这个的修理工真嘀很少!
- 广西国际商务职业技术学院官网计算机功课,2019—2020学年秋季学期线上线下混合式教学课程听课情况汇报...
- scala集合基本介绍
- HDU1799 循环多少次?【打表】
- poj Labeling Balls 3687 拓扑排序!!!!
- 请慎用ASP.Net的validateRequest=false属性
- 根据ReentrantLock -- 解析AQS原理
- n阶乘计算器 超大数 理论可计算8位数以内的阶乘数
- 《ybtoj高效进阶》第五部分第六章例题3 耗费体力
- 基于单片机的银行排队叫号系统(Keil工程文件+Proteus仿真原理图+过程详解+全套文档)
热门文章
- MyBatis_Plus联表分页查询
- 开一家300平方米的亲子乐园需要多少钱?看完你就懂了!
- jsonobject中getkey_Java JsonObject.get方法代码示例
- Kubernetes——面试问题全集
- 文件下载 Content-Disposition中filename中文乱码解决
- vul.php,phpvulhunter 精短简小的PHP代码安全审计,可 SQL注入漏洞、跨站脚本等 Exploit 弱点检测 267万源代码下载- www.pudn.com...
- Python加密解密程序
- 全志Tina系统调频调压
- 四、项目生命周期和开发生命周期
- php实战开发管理系统,深入浅出PHP框架Thinkphp实战开发(权限管理、CMS内容管理系统)...