一、OOP

(一)

1、控制反转(IoC:Inversion of Control)

---基类的函数可以主动调用子类的函数,这就是典型的IoC机制

---基类与子类之间,主控权是在基类手上,透过Hook函数来调用子类

---通常基类是攥写在先,而子类则攥写在后,这种前辈拥有主导权,进而[控制]后辈之情形,就通称为[控制反转]

2、API

API这个名词,有3个密切关联的动词

定义(Define)

实作(Implement)

呼叫(Invoke or Call)

根据这3个角度,可将API区分为[主动型]与[被动型]两种

3、接口(Interface)是双方接触的地方,也是双方势力或地盘的界限

谁拥有接口的控制权,谁就掌握控制点,就能获得较大的主动权(或称为主导权),而位居强龙地位;而另一方则处于被动地位,称为弱势的一方,扮演地头蛇角色。

在OOP里,将接口定义为一种特殊的类(Class)

二、架构设计的UML图形设计

(一)图形思考的表达:图形语言

1、图形建模:模型(Model)内含一组基本概念,及其间之关系;如果以图形表示出来,就能发挥图形思考的效益了

2、UML图形语言,协助架构师发挥其图形思考,表达出系统架构(Architecture)的模型

(二)UML的建模工具

1、Astah Professional(原名JUDE)是UML建模工具中,最具有简洁设计、轻便简单、易学好用的。Astah功能强大,支持UML2.X中的图标(Diagram),包括:

(1)Class Diagram(类别图)

(2)Use Case Diagram(用例图)

(3)Statemachine Diagram(状态机图)

(4)Sequence Diagram(顺序图)

(5)Activity Diagram(活动图)

(6)Communication Diagram(通信图)

(7)Component Diagram(模块图)

(8)Deployment Diagram(部署图)

(9)Composite Structure Diagram(组合结构图)

(三)系统分析的含义

1、系统分析的对象是系统所处的[业务领域只是](Domain Knowledge)才是正确的。

[OOA不是要去分析实际的系统;而是用来分析人们对系统的专业认知和做法----从收集到的领域概念来分析出业务内涵]

2、业务(领域)概念

(1)知识的组成要素是[概念](Concepts)

(2)领域知识(Domain Knowledge)的组成要素是领域概念(Domain Concepts)

(3)概念有它的属性(Attribute),概念之间有其关系(Relationship)shi

(4)系统分析(或OOA)就是要分析领域知识里的概念,并以UML的类别(Class)等示来表示。

3、概念(Concept)是抽象的,代表一群实体,是沟通的重要媒介。

概念代表一个群体---[类别](Class),人们藉由天赋的能力运用经验去想到其所代表的实际东西---[对象](Object)

不仅上述的名词概念而已,其相关的动作也常是重要概念。动词常常代表一项事件(Event)的发生,而人们常从人、事、时、地、物等去描述一个事件的发生情境。譬如,吃仙丹就有动作(吃)的对象---仙丹,动作的主角---嫦娥,当然还有地点、时间,甚至仙丹来源等等。

三、EIT

(一)

1、EIT造型就像比类(Class)大的集装箱

2、就像集装箱也有不同的形式(即变形)

3、EIT造型有2种变形,如下

(1)

(2)

(3)

4、造型特性:

形式简单、内涵复杂、重复组合

Android架构之OOP、UML图、EIT笔记相关推荐

  1. 移动架构 (一) 详解架构设计中UML图的使用

    距离上一个 "性能优化系列" 已经快一个月没有发布文章了,最近公司真的是太忙了,甚是想念掘友们啊.最近把学习架构方面的知识记录下来,供自己和掘友们一起学习. 注意: 文章中 UML ...

  2. Android应用性能优化!Android架构师必备框架技能核心笔记,一文轻松搞定

    前言 19年6月份从网易云音乐离开,放弃了留学机会,开始了人生的第一次创业,前后尝试了两个项目,因为个人能力与时机因素都失败了,虽然没能享受到创业所能够带来高杠杆物质上的回报,但是对个人软技能和自我边 ...

  3. UML图学习笔记(二)状态图

    一.介绍 1.状态机介绍 状态机是一种记录下给定时刻状态的设备,它可以根据各种不同的输入对每个给定的变化改变其状态或引发一个动作.在状态机的语境中,一个事件就是一次激发的产生,每个激发都可以触发一个状 ...

  4. kotlin教程!Android架构师必备框架技能核心笔记,详细的Android学习指南

    雪上加霜 本人一名Android程序员,今年29岁了.大厂小厂都呆过,现在在腾讯工作!明明工作顺利,家庭和睦儿女成全,但是总是会感觉到,一股无形的压力,推着我走!作为一名程序员我最怕的不是996,也是 ...

  5. 【Android架构师java原理详解】二;反射原理及动态代理模式

    前言: 本篇为Android架构师java原理专题二:反射原理及动态代理模式 大公司面试都要求我们有扎实的Java语言基础.而很多Android开发朋友这一块并不是很熟练,甚至半路初级底子很薄,这给我 ...

  6. 字节跳动Android金三银四解析:Android架构组件Room功能详解,深度好文

    前言 很多公司在招人这件事情上都会面临一个问题: "我们的招聘要求又不高,能做项目就行,但为什么就是招不到人?" 很多公司还面临一个问题,招聘的时候这人各方面都不错,但上岗了就是不 ...

  7. [Android 泥水匠] Android基础 之一:浅谈Android架构到HelloWorld案例的剖析

    作者:泥沙砖瓦浆木匠 网站:http://blog.csdn.net/jeffli1993 个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 交流QQ群:[编程之美 36523458 ...

  8. 图解Android - 如何看Android的UML 图?

    如何看UML图? UML能给我们带来什么? 这是本文要寻找的答案.UML图有很多类型,我们这里只讨论最重要也最常用的两种 - 类图和时序图. 1. 类图 通过类图,我们可以很容易的了解代码架构,理清模 ...

  9. 【UML】如何看Android的UML图

    UML图有很多类型,这里只讨论最重要也最常用的两种 - 类图和时序图. 1. 类图 通过类图,我们可以很容易的了解代码架构,理清模块之间的关系, 包括继承(Inheritance),实现(realiz ...

最新文章

  1. 和泰c语言函数库,合泰杯 | 合泰单片机入门 编程详解(二)
  2. ORACLE创建用户,建表空间,授予权限
  3. ASP.NET Core 2.0 自定义 _ViewStart 和 _ViewImports 的目录位置
  4. 【渝粤教育】国家开放大学2018年秋季 1021t劳动与社会保障法 参考试题
  5. qt程序运行时绘图出现错误
  6. 编译原理(简单自动词法分析器LEX)
  7. 4 相机切换_景明促销IIVlog小新机 索尼Vlog相机ZV1
  8. C语言之字符串探究(四):读越界、写越界
  9. Spring cloud 微服务架构之Ribbon/Fegin连接超时ReadTimeout问题
  10. 华为当个pl怎么样_华为员工吐槽:画饼、忽悠、洗脑,有些pl、pm怎么可以那么坏?...
  11. 图像局部特征(十七)--DenseFeature
  12. 固阳一中2021高考成绩查询,中考志愿填报网站
  13. (12)机器学习_特征选择
  14. 中兴云桌面服务器,中兴云桌面解决方案.pdf
  15. 前端使用vue+ js-xlsl + elemen-ui实现导出Excel表格(绝对好使, 前端有问题直接关注我, 或者评论立刻给你回应, 专业解决)
  16. 关于英语论文范文参考步骤的详细介绍
  17. 10天竟然只写了一行代码,谁的锅?
  18. 共轭对称序列和共轭反对称序列
  19. 在树莓派上做一个远程控制的小车(基于Python)
  20. 【系统分析师之路】计算机组成原理章节错题集锦

热门文章

  1. 几个容易中的计算机EI源刊(转)
  2. 优秀的时间管理软件 用于效率办公和自我提升的任务管理便签工具
  3. JavaScript点击事件
  4. 保研之旅3:武大计算机学院优秀营员选拔
  5. |NO.Z.00005|——————————|BigDataEnd|——|HadoopHadoop核心框架.V05|——|Hadoop.v04|分布式集群搭建|...
  6. 基于Easyx实现同时接收键盘鼠标消息
  7. 知乎价值59元私家课:雷军亲述创业心法
  8. 网通电信霸王服务几时休?
  9. Spring Boot(5)一个极简且完整的后台框架
  10. 彻底理解CALayer的position与anchorPoint