读书笔记之高焕堂《Android 应用框架原理与程式设计36技》

高焕堂老师是台湾人,而且是亚太地区Android技术大会主席。
今天晚上读的就是他的《Android 应用框架原理与程式设计36技》。


2008年10月3日写的序
他开篇就以愚公移山这样一个妇孺皆知的故事来阐述大家在日常开发过程中忽略的事实。
Google推出了强大的Android平台,但是开发者几乎都只关心如何在该平台上开发应用程序,
而忽略了Android只是个框架,框架里有成千上百个组件工具。这就好比愚公移山使用的簸和箕,没有这些东西作为强大的支撑,我们是很难做出良好的应用程序的。


第一篇:介绍应用框架的概念、原理和特性
第二篇:阐述应用框架设计的技巧,即如何打造应用框架(如果你的职业是使用Android框架开发应用程序,可以直接跳到第


三篇)
第三篇:说明及演练Android应用程序设计的36技
第四篇:介绍Android框架与硬件之间C组件的开发流程及工具


这里高老师还给我们指出主要的三种角色:
00 Android 开发团队  制造框架和工具的人
01 Google公司        负责买卖经营Android的人
02 Android 程序开发工程师  负责Android应用程序的开发

Misoo技术团队由高焕堂领军的Misoo团队与大陆、俄罗斯、日本专家所组成的跨国嵌入式联合设计团队。
这些团队都做了些什么呢?
跨国团队成功地将俄罗斯研发20多年的顶级Linter嵌入式资料库系统纳入了Android手机里执行,成为Android嫡系成员之一。Misoo团队开发的Android游戏应用程式也顺利外销欧美诸国。经典小游戏:扑克游戏、扫雷、数独、老虎机、虚拟社交、五子棋、推箱子、Online Game。


跨国团队经验丰富、技术精湛,嵌入式开发成功经验包括:
|-- 定制化影音播放器(Video Player)开发
|-- 嵌入式资料库管理引擎(DBMS)开发
|-- 行动平台GPS系统开发(Blackberry WinCE J2ME)
|-- 电信行业的专属无线协定(wireless protocol)开发
|-- 学习内容播放系统开发(Flash-based)


基于Misoo的开发精神,高焕堂将本书制作成eBook的形式供大家免费阅读和分发。希望本书可以在这千载难逢的大好机会里,陪伴各位开发者茁壮成长。



1.1 什么是应用框架
顾名思义,应用框架是指在某特定的应用领域中(Domain),程式间的共同结构。该领域中的工程师依据共同结构来开发应
用程序,使得程式间具有一致性,增加了程式的清晰度,以降低程式的设计与维护费用。
所谓【共同结构】,包括了通用的类别、物件、函数,及其间的稳定关系。由于框架是通用的,大家能够共享,增加了工作
效率,提升了软件工程师的生产力(Productivity)。


抽象 -- 在同一领域的程式中,常常含有许多类别,这些类别有其共同点。工程师将类别的共同结构抽离出来,称之为抽象
类别(Abstract Class)。


衍生 -- 基于通用结构里的抽象类别,添加一些特殊功能,成为具体的类别,再衍生物件。


所以抽象【类别】的主要目的就是衍生子类别,而不是由它本身来诞生物件。
由于抽象类别本身不诞生物件,所以有些函数并不完整。
对比而言,如果类别内的函数都是完整的,而且都要用来诞生物件,则称之为具体类别(Concrete Class)。

抽象结果的好坏,决定于工程师的领域知识,以及其敏锐的洞察力。这是复杂的动作,其过程越是精细,越能得到稳定而通
用的框架。一旦有了稳定并且富有弹性的框架,衍生具体类别的动作就轻而易举了。


综上所述,框架应该包含:
|-- 一群抽象类别,类别内有函数,函数内有指令,但是有些函数内的指令从缺,预留给工程师补充。
|-- 抽象类别之间的稳定关系。未来衍生出的子类别、诞生的物件可以依照既定的关系来沟通协作。


然而,现在市面上的框架不只是包含了抽象类别,而且还包含具体类别、函数和物件。实际上,框架已经涵括了传统的类别
库(Class Library)的功能,使得大家不容易区分框架与类别库之间的差异了。只能在理论上做一个简单的区分:


               应用框架                               类别库
           ----------------                     ----------------------
00 目的:让工程师衍生出具体类别              让工程师拿现成的类别来衍生物件,
         衍生时可以修正类别,才诞生物件。    类别并未预留空间给工程师来修正。


01 应用框架中的类别的函数,                  应用程式的函数只能呼叫类别库中的函数。
   常呼叫应用程式中的函数。                  反之则不可。


02 含有类别之间的关系,其预设了              类别是独立的,并未设定物件之间的沟通方式。
   物件之间的互助合作关系。


03 物件常含有预设计行为(Default             物件的行为是固定的,无法修正。
   Behavior),预设行为可让工程师修改。


1.2 框架的起源
框架(Framework)的历史已经有20多年了,可追溯到1980年代Smalltalk语言的MVC,到了Apple Macintosh时代的MacAPP框架开始大放异彩。逐步演进到今天的.NET Framework。其应用范围越来越大,已经成为资讯服务系统的共通核心框架了。
20多年来,框架的基本原理一直都没有改变,其基本结构也没有太多变化,其基本用法还是老样子,只是应用的场合和范围变得越来越大,经验也不断地积累。在框架的发展过程中,最具代表性的是:

|-- 1980年代初期  -- Smalltalk-80 的MVC Framework
|-- 1980年代中期  -- Macintosh 电脑的MacAPP Framework
|-- 1990年代初期  -- Visual C++ 的MFC Framework
|-- 1990年代中期  -- IBM的San Francisco Framework
|-- 2000年        -- Microsoft 的 .NET Framework
|-- 2007年        -- Google的 Android Framework

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值