第 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 ~