单机版软件框架和分布式软件框架培训

课程介绍:

聚焦于框架的设计和实现,结合当今IT界最火爆的三门技术Android、HTML5、Hadoop为实例,深入企业级开发和生产环境,让您精通软件架构设计绝世武功并能够轻松设计出自己的软件框架,更为美妙的是您具备的这种软件框架设计能力是全方位的:单机版本的软件框架和分布式的软件框架,从此您的Framework生涯海阔天空。

课程特点:

1,以企业级开发和生产环境为背景,彻底剖析硬件驱动开发框架、应用软件框架和分布式存储与计算框架;
2,以Android、HTML5的PhoneGap以及云计算分布式大数据框架Hadoop为实例彻底研究框架的设计与实现;

课程收益:

1,具备理解所有框架内部核心构造的能力
2,具备把普通代码转化为框架级别代码的能力
3,具备理解设计框架所常用的招式的能力
4,具备理解框架运转动力的能力
5,具备理解和开发硬件驱动框架的能力
6,具备理解和开发应用程序框架的能力
7,具备最有管理框架中服务的能力
8,具备对软件框架进行整合的能力
9,具备理解分布式存储和计算框架的能力
10,具备修改分布式存储框架实现的能力
11,具备从代码的角度理解和使用分布式计算的能力
12,具备掌握分布式计算框架内幕实现能力

课程对象:

写过程序,懂得基本的Java语法技术工程师;
对软件设计框架感兴趣;

课程时长:2天

课程方式:

传统的面对面授课方式。

 

课程大纲:

第1堂课:框架的内核:金三角模式(具备理解所有框架内部核心构造的能力)
1、以Thread&Runnable为例说明的内核元素
2、以Android为例说明软件框架的内核元素
3、以云计算分布式大数据处理框架Hadoop为例说明软件框架的内核元素
4、以HTML5框架PhoneGap说明软件框架的内核元素

第2堂课:实例研究普通的代码是如何演变为框架级别的代码的(具备把普通代码转化为框架级别代码的能力)
1、基于Webkit编写普通业务代码
2、把该代码转换框架级别的代码完整过程演示
3、再次思考高手级别的代码是是如何炼成的

第3堂课:框架架构最常使用的几个设计模式(具备理解设计框架所常用的招式的能力)
1、Proxy-Stub模式、模板方法模式、工厂方法模式
2、Proxy-Stub模式、模板方法模式、工厂方法模式在Android框架中的应用
3、Proxy-Stub模式在Hadoop中应用

第4堂课:框架的灵魂:消息驱动机制(具备理解框架运转动力的能力)
1、为何消息驱动是框架的灵魂
2、以Android的ActivityThread、Looper、Handler、MessageQueue为例说明消息驱动机制
3、以Hadoop的HDFS工作机制为例说明消息驱动机制

第5堂课:硬件开发框架实例研究:Hardware Abstract Layer驱动开发(具备理解和开发硬件驱动框架的能力)
1、深入Native Service驱动程序架构
2、libhardware 与 HAL API
3、Stub & Module 的观念
4、HAL Interface与HAL Stub

第6堂课:应用程序开发框架实例研究:Android Framework 架构原理分析(具备理解和开发应用程序框架的能力)
1、Proxy Object与Android Service的模式的关系
2、Handler 与 Message 的解析与实作细节
3、Introduction to Software Framework
4、软件框架实战: IoC、扩展性与不可修改性
5、先设计(Design)后实现(Implementation)
5、Doing Long Operations
6、Design Patterns of Android Framework

第7堂课:框架中服务管理实例研究:Android Service 架构 SystemServer 整合开发(具备最有管理框架中服务的能力)
1、Zygote & SystemServer 介绍
2、ServiceManager介绍
3、IPC、Remote method call与Binder管理说明
4、AIDL 介绍与IInterface设计观念解析
5、Activity & ApplicationContext
6、ServiceManager

第8堂课:框架中的服务整合实例研究:Android Service模式下框架整合(具备对软件框架进行整合的能力)
1、Android Service Model 解析
2、Why use IPC ?
3、How to do Blocking IO?
4、How to do Data Polling?
5、Using Child Thread for Async Method Call
6、Callback and Interface Design
7、Thread-Safe 观念与实现

第9堂课:云计算分布式软件框架Hadoop三问(具备理解分布式存储和计算框架的能力)
1、Hadoop为什么是云计算分布式大数据的事实开源标准软件框架?
2、Hadoop的具体是如何工作?
3、Hadoop的生态架构和每个模块具体的功能是什么?

第10堂课:分布式文件存储框架研究:彻底掌握HDFS(具备修改分布式存储框架实现的能力)
1、RPC架构剖析
2、源码剖析Hadoop构建于RPC之上
3、源码剖析HDFS的RPC实现
4、源码剖析客户端与与NameNode的RPC通信

第11堂课:分布式计算框架研究:彻底掌握MapReduce具体的过程(具备从代码的角度理解和使用分布式计算的能力)
1、MapReduce执行的经典步骤
2、wordcount运行过程解析
3、Mapper和Reducer剖析
4、自定义Writable
5、新旧API的区别以及如何使用就API
6、把MapReduce程序打包成Jar包并在命令行运行

第12堂课:分布式计算软件框架内幕:彻底掌握MapReduce工作的内幕(具备掌握分布式计算框架内幕实现能力)
1、Hadoop是如何把HDFS文件转化为键值对的?
2、源码剖析Hadoop读取HDFS文件并转化为键值对的过程实现
3、源码剖析转化为键值对后供Map调用的过程实现