zoukankan      html  css  js  c++  java
  • Android:从程序员到架构师之路Ⅲ_高焕堂

    Part-2: Android框架代码中学习设计

    一 基础设计模式(Pattern)的代码Android为例

    1、Template Method模式:IoC(控制反转)机制

    2、Observer模式:接口设计

    3、Abstract Factory模式:两个EIT造形的组合

    4、Adapter模式:封装接口

    5、Composite模式:实践组合

    6、Façade模式:组合体的接口设计

    7、EIT造形是原子,设计模式是分子

    8、更多EIT造形的组合模式:以Android代码为例

    二   UI框架入手

    1、View体系的架构设计(使用Template Method模式)

    2、Activity-View的架构设计(使用Factory模式) 

    3、Layout-View的架构设计(使用Composite模式)

    4、WMS(WindowManagerService)-View的架构设计

    5、WMS-SurfaceFlinger的架构设计

    6、Surface-Canvas(画布)的架构设计 

    7、SurfaceView与OpenGL的3D绘图架构设计

    8、ListView框架的设计

    三  跨进程(IPC)架构设计

    1、Android 的IPC幕后设计:BD(Binder Driver)驱动架构

    2、以IBinder接口包装BD驱动的服务

    3、包装IBinder接口的Proxy-Stub设计模式

    4、Proxy和Stub类别的代码

    5、设计Proxy和Stub类别的API

    6、如何自动生成Proxy和Stub类别代码

    7、IBinder & AIDL方法

    方法()Implementing a Binder

    方法()Using a Messenger 

    方法()Bound Services

    四  JavaC/C++两层框架的设计

    1、JNI(Java Native Interface)代码开发要点

    2、JNI的数据型态(Data Type)转换规则

    3、JNI的线程(Thread)模式:JNIENV类的设计

    4、正向通信:Java函数调用本地C函数

    5、反向通信:本地C函数调用Java函数

    6、Android HAL架构设计

    HAL(Hardware Abstraction Layer)的意义

    理解runtimeHAL Stub

    撰写HAL Stub代码

    Stub调用Linux Kernel的方法

    五  核心服务的框架设计

    1、认识核心服务(Core Service)

    核心服务都是在开机过程中AndroidINIT进程启动的

    包括Android Service Native Service两种

    Java语言撰写的就称为Android Service

    C++撰写的就称为Native Service

    2、亲自撰写一个核心服务

    撰写一个C++类别

    继承BBinder基类,继承得来IBinder界面

    提供接口给Java(透过JNI)调用   

    六  JUnit测试框架的设计

    1、Android的测试工具,都是基于JUnit测试框架的

    2、JUnit框架也是由许多EIT造形所组成;其TestCase基类是<E&I>

    3、从基类衍生出各子类,如ServiceTestCase就是扩充的<E&I>;其内涵的setUP()和tearDown()函数就是<I> 

    4、可撰写<T>(即Test case)代码,来启动TDD机制

    5、可使用TestSuite基类来管理一群相关的<T>(即Test case)

    网盘部分视频分享http://pan.baidu.com/share/link?uk=1882162285&shareid=2210518229

  • 相关阅读:
    Repeater控件用法
    python的文件锁使用
    python的文件锁使用
    python的文件锁使用
    linux下文件描述符的介绍
    linux下文件描述符的介绍
    linux下文件描述符的介绍
    Linux 2.6 中的文件锁
    Linux 2.6 中的文件锁
    Linux 2.6 中的文件锁
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3366090.html
Copyright © 2011-2022 走看看