2012年7月2日21时29分
接口是软件的起源
1:接口体现了框架和服务,体现了框架的稳定性。接口一旦确定,则框架也就基本定型了,可以说,接口是框架的微观体现形式
2:接口体现了不变与变化的统一,框架是不变的,服务的宗旨是不变的,但是服务的具体内容是可变的,是由用户把握的
3:接口体现了用户和系统的关系,框架就是系统,接口函数的内容就是用户关心的
4:接口的主要体现形式是回调,所以回调和接口可以认为是等价的
5:接口体现了原因和结果间的逻辑关系,框架提供原因,而接口的具体内容是结果,
6:接口体现了原因的固定性和结果的不确定性,也就是结果的内容是用户来把握的
接口的基本形式如下:
if(xxxx)
{
(*pResultCallBack)();
}
void ResultCallBack()
{
//用户来填写具体内容
}
7:接口体现了轻原因,重结果。因为原因固定,不可变,而结果是由用户把握的,则是可变的
8:接口体现了解耦的概念,它分成用户和系统两个方面,分成框架和服务两个方面,分成变与不变两个方面,分成原因和结果两个方面,分成重点与非重点两个方面
基于以上结论,所以,我们可以将其当做公式来套用
A:只要是有原因和结果的逻辑关系,都可以用回调函数来当做接口
B:只要是原因固定,结果浮动的,都可以用回调函数当做接口
C:只要是有框架,那就一定会有回调函数作为接口
回调这个词包含了很多的架构相关的意思,关键就看你如何挖掘它了。
1:既然提到回调,那就是说,有主有次,主的是整个框架流程,事件的发生,消息的传递,而次的是上面各个动作的结果。所以说,回调=原因+结果=主体框架+结果=不变的框架+可变的结果,
2:回调也体现着因果关系。
3:回调也体现着变与不变的关系,回调函数内部是可变的,所以做成回调函数,将来你可以在回调函数内部随意添加新的内容,以应对可能的变化。而框架是不变的,也就是说,引起回调的原因是不变的。消息处理的流程是不变的,消息传递的次序,事件发生的次序也是不变的。
随意一个架构相关的词,其后面都有着很深刻的框架含义,要善于联系并深入体会它们。
完全个人体会,可能不正确,欢迎交流!