GoF(Gang of Four)是设计模式的四位作者,他们在《设计模式:可复用面向对象软件的基础》一书中介绍了23种常见的设计模式。
Gof的设计模式不只是面向程序的,更是对世界事物的认知方式,解决问题的思路,可以应用于产品设计、经营模式、城市规划、社会治理、课题研究、日常活动中。从底层进行设计,窥见本质,可举一反三。
对事物的认识,可以通过单一事物的生成方式、事物之间发生关系的类型、事物的行为模式来进行解构理解,从而借鉴模式设计出更合理的方案。
现实中以及系统中遇到的问题可能是多个模式的组合,但从原子角度进行认知和解决,正如从原子、分子角度去理解世界,会更加透彻,事半功倍。
如此晦涩难懂的抽象概念,很难让人一眼就能理解,需要结合各种解读甚至软件代码仔细体会,才能理解的深刻。
本文不求甚解,从最形象的地方一句话表达,并增加了现实生活中的例子来理解。比如迭代器模式,轰轰烈烈的排队检核算就是最形象的例子。迭代器的算法,在标准的检查过程:扫码、消毒、拆棉签、捅喉咙、棉签收集等等,这些对所有参加检查的人都一样的,每个检查的人就是迭代器里元素,一个接一个的流水作业,机械的直到检查完成。
设计的六大原则
如下思维导图中,我从比较接近的场景中寻找示例,来说明这些设计模式在生活中的应用,更易于反过来理解设计模式,有心的人可不断丰富。
每个设计模式说明中分为上下两行,上行是设计模式的核心观点,下行是具体示例,涉及生活示例、软件示例等。
5种构建型模式,构建事物对象
7 种结构型模式,设计事物及事物间的结构
11种行为模式,交互与协作
行为模式是指两个以上对象之间发生行为的方式,比如销售方式里的直销、代销,比如选择方式里的指派、投票、抽签,等等。
“轻数据”与您分享。