设计模式Top10排行榜
在工作中,常常使用到设计模式,增强了软件的灵活性,然而要为它们排排位置,还真是一件难事,因为每个人对设计模式的理解程度,每个人使用的编程语言,个人的习惯,工作性质等等都会影响排行榜。在这里暂且列出自己心中的排行榜吧(仅限Design Pattern中提到的设计模式)。
冠军宝座:Strategy Pattern
理由:Strategy 是封装一些运算法则,使之能互换。在工作中,总有几种选择方案,要经过 比较,选择最适合的运算法则,所以使用的频率最多。
亚军:Factory Pattern
理由:一个程序中,都会有创建对象的操作,所以用到的机会也就很多了。
季军:Observer Pattern
理由:只想问个问题,你用过回调函数吗?
第四:Facade Pattern
理由:为了封装你自己写的比较复杂的系统,给用户一个简单统一接口,你封装了一个类, 你干过这样的事吧?
第五:Mediator Pattern
理由:为何把Mediator模式放在第五位,我个人的理解是Mediator模式不仅是一种模式, 其实可以提升到一个程序的框架设计上去,现在用得越来越多了。
第六:Iterator Pattern
理由:使用到数组和链表,你就有机会使用Iterator Pattern。
第七:Bridge Pattern
理由:把实现和逻辑分开,这样的情况很多很常见。
第八:Template Method
理由:把公用的东西提炼到superclass中去,不同的在子类中实现,听着很熟的话吧?
第九:Command Pattern
理由:发出请求,这是我们喜欢干的事。理由比较牵强。
第十:State Pattern
理由:一个对象有不同的状态,这样的情况也很多。
上述的排名只是个人的想法,有些我也说不出很好的理由。不知你是如何认为的?说说理由。