看了P&P client product manager Glenn Block 的最新的一篇blog Have you heard of SFD? ,P&P的这些专家们总是在拼命的创造新名词,在这篇blog中,又发现了诸如SFD, Prism, Region等新名词,不过这一切都是在Glenn成为product manager以后,我们听到的还有Unity、bundle等等,看来Glenn似乎有些喜欢吸引大家的眼球:)
不过从这篇文章中,倒是可以看出,如果不是client team全体那至少是Glenn认为,CAB确实很好很强大,但是真的太复杂,并列举了几个致命弱点:
1. it introduces complexity;
2. reduces debug ability;
3. learn ability;
4. security issue;
由于我们项目组本身使用过CAB,所有除了最后一点以外,都是有切身体会的。既然产品组的老大都这样认为,在Prism(Composite WPF client)中,CAB是注定会被瘦身或整容的了。
跨模块的界面复用总是令人向往的。在Prism中,我们可以看到,事情不再象CAB中那么复杂。IOC在这里派上了大用场,当然,CAB中的接口层的概念还是被移植了过来。看一下Glenn给出的code snippet:
class PurchasingPresenter {
...
public void OnLoad() {
IHistoryView HistoryView = container.Get<IHistoryView>();
Put(HistoryView).In("HistoryRegion");
}
}
嗯,没错,Enterprise Library中新的IOC工具——Unity已经被用上了。有关Unity的问题,我们回头还得再聊聊。