linugb118--java space

Java

高焕堂老师的软件架构的讲座

上次有幸参加了高焕堂老师的软件架构的讲座:
总结了下面几点:
1.做框架的思想很简单,就是所谓的雕刻之道,软件就如一块大理石,把多余的部分去掉,那就可以了
再比如如何做汽车的框架,为了满足汽车能在沙滩上,地面上,山坡上跑,我们只要把轮胎去掉,那么
剩下的就是框架,做软件完整的API不要写,留给空位就行了。
2.麦肯锡的思路(反向思维):当需要想完成某个目标的时候,往往一般人会想我现在应该先去做什么,然后
再做什么,这样的思路往往出来的step by step 只有一种,如果反向思维,从现在目标开始反向推理出前一
阶段的几种可能性,然后从分别对这几种可能性再向前推,以此类推可以形成一个树状,然后根据先有情况
去除不能满足的链路,这样同样的问题 你的思路和方法以及可选择的路线就多很多,往往不是一条。这就是
反向思维
3.如果把软件生产比作工厂,请问软件工厂的原料是什么? 是需求? 如果回答是需求,那就错了。
需求和架构没有关系。需求是桌面,架构是桌脚,桌脚的要几个,什么形状和桌面没有关系,只要桌脚能支持
桌面就行了。
4.架构就像万里长城,他是保护自己人的,是自己人能安居乐业,外面的多变都被万里长城挡在外面,
框架下面的可以多变,没钱就改版,改版就有钱。
5.写框架的是强龙,写AP的是地头蛇。买主出现才有地头蛇。也就是需求出现的时候才有地头蛇。
6.软件哲学,如何让先写的call后写的?引入接口和基类就能完成这个问题
7.子接口因为都是基础基类,那么他们之间怎么new,如果他们要new 也就向框架要,这样才能不违背框架的用意。
8.框架先不要考虑太多效率的问题,效率的问题在后面慢慢修改,这样可以减少考虑的因素,更容易理清。
9.强龙要有主控权,那么框架所做的事情就是能让强龙能包容改变
10.如果不想子系统继承那么就用final 关键字
11.如果两个类 不要相互继承,但是要他们相互call,那么就在他们里面分别定义一个方法,相互call
12.基类告诉子类,让子类call她,那么子类才能call基类,没有call子类,那么子类不能先去call她。
13一般进程process 是不共享的,他们在不同的位置区间,如果要跨进程的call,那么用IPC。而Process
一般分Main thread;Message Quene;Main Looper。其中Main thread是主线程,他通过Looper 一直查看他的
MQ,MQ记录要求做的事情,如果MQ里面有什么事情,那么Main thread 就拿到他把他做掉。
14.Main thread 主要是处理UI相关的用户事件,而且一般有时间设置比如每个function不能超过5s。
15Andriod中是通过IBinder 来实现跨进程的通信。
16.主线程一定有一个MQ 一个Looper。而小线程没有,所有小线程从一开始到执行完就结束了,但是小线程
不能touch UI,只有Main thread 可以touch UI相关的用户事件。
17 架构师是在暗室里面抓黑猫,在没有路的情况下找出一条可行之路,所有没有步骤可言。
18 做框架 尽量把人家会抓住你的地方分开,如果实在分不开,可以当壁虎,把壁虎的尾巴给人家抓。
19 框架的东西尽量要用c++写,因为c++比起java 安全,快,无反编译。
20 做一个系统一定要只要你的控制中心和整合中心,而且他们只有一个并且只有一个连接。控制中心好比大脑
而整合中心好比骨骼。在控制中心可以增加状态机来增加控制力和安全性。

posted on 2010-01-28 14:29 linugb118 阅读(3011) 评论(4)  编辑  收藏

Feedback

# re: 高焕堂老师的软件架构的讲座 2010-01-28 17:02 伦理电影



来学习了!  回复  更多评论   

# re: 高焕堂老师的软件架构的讲座 2010-01-30 13:56 qd

3.如果把软件生产比作工厂,请问软件工厂的原料是什么? 是需求? 如果回答是需求,那就错了。
需求和架构没有关系。需求是桌面,架构是桌脚,桌脚的要几个,什么形状和桌面没有关系,只要桌脚能支持
桌面就行了。

----------------------

强烈反对这个说法!!!!  回复  更多评论   

# re: 高焕堂老师的软件架构的讲座 2010-01-31 10:48 leekiang

大部分都很有道理  回复  更多评论   

# re: 高焕堂老师的软件架构的讲座 2010-02-02 11:24 linugb118

同学:请问如果现在是一个自行车工厂,他需要生产自行车,请问生产自行车的原料是什么? 是需求吗? 显然不是。软件和实体的区别在于不可实体化,所有往往很多实体类似的东西,到软件这边就忽视掉了
@qd
  回复  更多评论   



只有注册用户登录后才能发表评论。


网站导航:
 

My Links

Blog Stats

常用链接

留言簿(1)

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜