梳理你的思路(从OOP到架构设计)_认识框架(Framework) 02

目录

1、框架是EIT造形的组合

2、再来看看Composite设计模式的范例​编辑


1、框架是EIT造形的组合

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

2、再来看看Composite设计模式的范例

相关推荐
Andy.Zeng2 天前
Android 平台架构&系统启动流程详解
android·java·架构·kotlin·框架·android系统·系统启动
孤蓬&听雨5 天前
前端开发10大框架深度解析
前端·vue·框架·react·开发·nuxt·next
剑走偏锋o.O6 天前
基于 Vue 和 SSM 的前后端分离项目实战:登录与注册功能实现
java·vue.js·框架·ssm
CPU NULL11 天前
【2025全网最新最全】前端Vue3框架的搭建及工程目录详解
前端·vue.js·框架·软件工程
rain雨雨编程1 个月前
黑马Redis详细笔记(实战篇---短信登录)
java·redis·缓存·框架·短信登录
明月看潮生1 个月前
青少年编程与数学 02-008 Pyhon语言编程基础 26课题、常见框架
python·青少年编程·框架·编程语言·编程与数学
是小崔啊1 个月前
Spring04 - filter和interceptor
java·spring·框架·源码
专注VB编程开发20年1 个月前
代替Winform、Win32控件的一些界面框架Electron,QT等
前端·c++·ui·框架·界面
程序员一诺2 个月前
【Django开发】django美多商城项目完整开发4.0第12篇:商品部分,表结构【附代码文档】
后端·python·django·框架
刘争Stanley2 个月前
Android系统开发(八):从麦克风到扬声器,音频HAL框架的奇妙之旅
android·c语言·framework·音视频·框架·c·hal