`
edison0663
  • 浏览: 78965 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

记收获之 微核模式

阅读更多

废话一下:

连续2周周末没得休息,上上周找房,刚过去周末搬家淋到雨,人再一次挂掉。下午看了下医生,吃了药,便困到不行,在家倒头大睡,中间还接到房地产中介打来的电话T_T...

 

晚上吃完饭,感觉精神好了很多,便想了这几天发生的一些事。

 

上周六去师兄家,听他分享了 mirco kernel pattern(微核架构), 之前一年前就已经听他一直说mirco kernel这个模式,但是,网上的资料也还是有的。Microkernel(微核)模式,但是没有详细的范例。这个思想起源与操作系统。 我就更晕了,这些东西如果只是简单地知道 微核就是这么做,但是不能很好地了解是为什么要这样做,也就是这个模式的适用场景,那就是扯蛋。

 

简单说说,那天一些收获:

 

微核架构的核心原则,按个人的理解,应该就是 通过“核的存在” 最大程度的消除依赖 组件间的依赖, 这里消除到最后可能还存在一些 隐含依赖。 各个组件间的通过“核”来获取其他组件的服务(这一部分的实现是非常有意思且复杂的)。

 

简单的:

组件A可以通过调用“核”来获取B组件

Kernel.GetBObj();

同样的B也可以获取A组件

Kernel.GetAObj();

但是这样的话,A B 组件的依赖,还是互相依赖到了,且如果增加组件,Kernel的代码就必需变动,说到底还是不靠谱。

 

这个时候应该 让 各个组件都有一个唯一标识,就好办了。那么任何一个组件都可以如下面一样获取其他组件的服务

Kernel.GetServiceByID( keyID )

 

但最困难的无非还是 对组件接口的抽象。 linux 内核的 “文件操作接口”是最好的范例, 任何东西都是文件。

... 困了,仅记下。

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics