目录
1、框架是EIT造形的组合
- 在生物界里,每一片树叶(如枫叶)都是一个結構相同而内涵不同的造形。
- 它们会依循某种规律而组合成树枝,如下图所示:
- 在物理界里,每一個原子(如氫原子、 氧原子)都是一个結構相同而内涵不同的造形。
- 它们会依循某种规律而组合成較大的結構,如下图所示:
- 在軟件系統里,每一個EIT都是一个結構相同而内涵不同的造形。
- 它们会依循某种规律而组合成較大的結構(如框架), 如下图所示:
- 此图含有两个EIT造形: {ViewRoot, View,<T>}和{SurfaceView, Callback,<T>}。它们是透过类别的继承关系(即SurfaceView类别继承View类别)而组合在一起。
- 这两个EIT造形是由于共享<T>而组合在一起的。
- 顾名思义, EIT造形就是意味着:把轮胎(T)拔掉,得到接口(I),于是将引擎与轮胎分离了。既然分离了,又谁来诞生轮胎呢? 谁来把轮胎装配到引擎呢?
- 此Android框架里有三个重要的EIT造形:
- {PhoneWindow, Activity, myActivity}
- {ViewRoot, View, Button}
- {View, onClickListener, myActivity}。
- 三个EIT造形的互动过程是:
- 首先Android框架诞生myActivity轮胎,并且把它装配到PhoneWindow引擎上。
- PhoneWindow引擎透过Activity接口来呼叫myActivity轮胎;要求它(即myActivity)来诞生Button轮胎,并且把自己(即myActivity)的onClickListener接口装配到Button轮胎(含基类别View)里。
- myActivity呼叫setContentView()函数来将Button轮胎的接口传递给PhoneWindow引擎。
- PhoneWindow引擎再把Button轮胎接口传给WindowManagerImp,委托它来装配到ViewRoot引擎上。此时,轮胎都装配好了; UI画面也显示了。
- 用户就能触摸UI画面的按钮(即Button轮胎),触发了UI事件, Android框架就把事件传送给ViewRoot引擎。
- ViewRoot引擎就透过View接口而呼叫到Button轮胎。
- Button轮胎(含基类别View)就透过onClickListener接口来呼叫myActivity轮胎的onClick()函数