GRASP(General Responsibility Assignment Software Patterns)— 通用责任分配软件模式,是不是看到这么专业的名词大脑就想直接晕菜了,这和大部分技术人员之前接触过的 GoF 四个火枪手的设计模式是不是一盘菜呢?答案是否定的。GoF 四人帮设计模式和 GRASP 的不同就在于,GRASP 更加飘渺,更像是设计思想的指导原则,根据这些原则,我们可以把类设计得更为合理,类的功能或者说类在系统中所分担的责任分配得更加合理,程序的结构更为清晰易扩展,这样才能设计出更加优秀的业务架构基础。是不是还是有点迷糊,那咱们就再白话一点,它更像是武林秘籍的指导我们练功的总纲,而 GoF 四人帮设计模式呢,则偏重于考虑设计如何实现,类之间如何交互,以及如何提升软件质量,这里的质量包含软件的强健性,扩展性,以及可维护性这几个方面,GoF 就是符合 GRASP 指导规则的面向对象的设计模式,是一种更为具体的实现。通过学习 GRASP,我们也可以加深对面向对象的设计模式的理解,打开一个新的思考维度,进入更高一级的程序开发的世界。只会做 CRUDer 的码农是永远想象不到也体会不到编程世界真正的乐趣的~