第 3 天
框架开发者学习指南(Day-03)
-- 需求知识分析
学习步骤:
Step 3.1 前言:在学习指南(Day-01)和(Day-02)里,已经孰悉主板模式(Motherboard pattern)了;也知道如何对主板模式而进行编程了。从现在开始,将依据企业框架开发流程里的先后环节来作教学,也就是从需求分析、接口设计到实践代码,这过程中各环节的思想、模式、技术和实践要点。而本周学习重点是:框架需求分析技术。
Step 3.2 大家都知道,软件代码是用来表达人类的需求(Requirements)知识的。在主板模式里,父类(又称基类)与子类两个模块的代码,各表达了不同的需求知识。其中,父类和<I>属于框架(Framework)部分;而子类则属于App部分。如下图:
(图3-1)
这项分析步骤里,最主要的工作就是将需求知识分为两种,如下图:
(图3-2)
Step 3.3 需要特别留意的是:这两种需求知识的出现,其时间点是不一样的。如下图:
(图3-3)
以时间轴线来看,如下图所示:
(图3-4)
Step 3.4 这两种知识的时间切分点是:买主来到的时刻。如下图:
(图3-5)
以时间轴线来看,如下图所示:
(图3-6)
Step 3.5 于是,将两种知识分别写入基类和子类;也就是,第一种知识写入基类,第二种知识写入子类。如下图:
(图3-7)
Step 3.6 如果上述的<分>析工作做得好,就能迅速的将两种知识汇<合>起来。此时,您就必须设计接口<I>,准备将基类与子类汇合起来;亦即,将两种知识汇合起来了。如下图:
(图3-8)
Step 3.7 接着,请您以Java语言来编程,将上述知识实践为软件,在软件执行时,基类就能透过<I>去掉用子类,取得子類里的知识,来与基類的知识互相会合起来了。如下图:
(图3-9)
其中,基类与<I>组合起来,就成为框架的主板部份了。
(图3-10)
Step 3.8 顺利地,将需求知识以主板模式呈现出来了。随着企业的业务不断成长,其形形色色的需求知识也愈来愈多,实现出来的基类&<I>代码也愈来越多,这一群的<基类&I>的集合体,人们就称之为企业的<业务框架>了。
Step 3.9 实操演练(A):从生活中体会和分析两种知识,如下图:
(图3-11)
显然的,买主来到时才会告知:吃那一种火锅? 搭配那些菜? 于是,将这些知识归类于”第二种知识”;也就是,将这些知识写入子类。
Step 3.10 实操演练(B):从生活中体会和分析两种知识,如下图:
(图3-12)
显然的,买主来到时才能提供的知识:都写在点菜单了。于是,将这些知识归类于”第二种知识”;也就是,将这些知识写入子类。
Step 3.11 实操演练(C):从生活中体会和分析两种知识,如下图:
(图3-13)
显然的,买主来到时才能提供的知识:要不要加奶精? 要加多少糖? 于是,将这些知识归类于”第二种知识”;也就是,将这些知识写入子类。如下图:
(图3-14)
Step 3.12 实操演练(D):从Android软件里体会和分析两种知识。请问:下图里的两种知识各是什么?
(图3-15)
Step 3.13 实操演练(E):从Android软件里体会和分析两种知识。请问:下图里的两种知识各是什么?
(图3-16)
Step 3.14 实操演练(F):从Android软件里体会和分析两种知识。请问:下图里的两种知识各是什么?
(图3-17)
Step 3.15 观摩与讨论:先听高焕堂老师的视频微课,其详细解析Android/HTML5平台里的PhoneGap框架的架构和设计方法。观摩的视频微课,包括:
微课-1(请点击此图,立即体验) 微课-2(请点击此图,立即体验)
1.在学习微课和观摩技术的过程中,可随时与同学或老师一起讨论交流
2.例如,讨论PhoneGap的IPlugin通用性接口是如何设计出来的?
3.通用性接口与<I>接口(如上述Thread的Runnable接口、SurfaceView的Callback接口)的区别与关系?
~ End ~

