设计模式 - GRASP 篇
GRASP(General Responsibility Assignment Software Patterns)— 通用责任分配软件模式,是不是看到这么专业的名词大脑就想直接晕菜了,这和大部分技术人员之前接触过的 GoF 四个火枪手的设计模式是不是一盘菜呢?答案是否定的。GoF 四人帮设计模式和 GRASP 的不同就在于,GRASP 更加飘渺,更像是设计思想的指导原则,根据这些原则,我们可以把类设计得更为合理,类的功能或者说类在系统中所分担的责任分配得更加合理,程序的结构更为清晰易扩展,这样才能设计出更加优秀的业务架构基础。是不是还是有点迷糊,那咱们就再白话一点,它更像是武林秘籍的指导我们练功的总纲,而 GoF 四人帮设计模式呢,则偏重于考虑设计如何实现,类之间如何交互,以及如何提升软件质量,这里的质量包含软件的强健性,扩展性,以及可维护性这几个方面,GoF 就是符合 GRASP 指导规则的面向对象的设计模式,是一种更为具体的实现。通过学习 GRASP,我们也可以加深对面向对象的设计模式的理解,打开一个新的思考维度,进入更高一级的程序开发的世界。只会做 CRUDer 的码农是永远想象不到也体会不到编程世界真正的乐趣的~
作为技术人员,能够静下心来好好看书,好好推理,好好反思和摸索是一件极为快乐和幸福的事,我们可以得到的反而更多,且不要带着洪流般的功利心态去看书学习,很多书之所以经典,不仅在于技术探讨,如何应用,更重要得在于它们帮助我们完成自我的探索和追寻。技术和应用方式每隔一两年就会迭代,而积淀于内在的价值将会永远伴着你,不仅仅帮你解决工作中的问题,我们人生的很多问题,都可以得到释解和善满。
技术是表象,透过技术的浮光掠影,可以直照你我的本心。