软件设计之术 - 设计模式学习应用心得
设计模式在架构师技能的层级
设计模式 是在特殊的业务场景下对OOD原则(SOLID)的应用,而OOD原则又是基于面向对象设计的语言特性。应用的框架搭建基础就是各种设计模式的合理组织,再往底层走就是理论和原则。
学习设计模式三境界
宋代禅宗大师青原行思,提出了人生的三重境界:参禅之初,看山是山,看水是水;禅有悟时,看山不是山,看水不是水;禅中彻悟,看山仍是山,看水仍是水
学习设计模式也是这样的,现在来看自己走过的路就是这样的,起初觉得“设计模式是设计模式”,后来随着深入的学习,发现设计模式不是通过不同类实现接口就是不同类继承相同的抽象类或者是两者都有,有时觉得几个设计模式实现都一样,只是叫法不一样,这是感觉“设计模式不是设计模式”。后来在工作实际中理论结合实践再去看逃脱不了“设计原则”“面向对象编程语言的三特性”从慢慢的找到“设计模式仍是设计模式”。
庖丁解牛的例子。一开始,你看见的是牛。你不了解。你硬砍。砍得很累。你技艺不够,同时心态也会出问题。你会因为缺少掌控力而产生不良情绪,你会不满,会焦虑,会恼恨,会紧张。这些都会影响你的自我判断。
后来你目无全牛了。你可以轻松剖解牛。你可以为之四顾,为之踌躇满志,随心所欲。一方面是你的技巧,一方面是你的心态
使用设计模式三境界
每个人心中都有一个武侠梦,我也一样想和霍元甲大师一样,能做架构界的霍师傅\(^o^)/~。
武学也几重境界:
手中有剑,心中有剑;
手中无剑,心中有剑;
手中无剑,心中也无剑。
使用设计模式也是这样的。开始的时候,我们会刻意拿着设计模式去套场景应用,但我们熟悉了设计模式后就可以,在合适的场景自然而然的想到相应的设计模式。最后如果我们把设计模式底层原则理解透彻了,就可以忘却设计模式了。这里忘却是不需再去记忆这些实际模式,而是在合适的场景下会应用并创作出新的设计模式。
总结
设计模式作为架构师必精技艺,必须系统深入的学习。要理解设计模式适用的场景,所解决的问题,如何解决问题的以及设计模式背后所应用的设计原则。在懂得设计模式的这些知识细节后,我们可以对既有代码《重构到设计模式》这样会进一步加深对设计模式的理解和实践经验。
版权声明: 本文为 InfoQ 作者【旭东(Frank)】的原创文章。
原文链接:【http://xie.infoq.cn/article/bc7c02fc57116c4a3d0a81a41】。文章转载请联系作者。
评论