您的位置:首页 > 编程语言 > Go语言

GoF这个大家庭——团结合作才是王道

2014-09-10 20:21 190 查看
设计模式是在程序设计阶段使用的非常重要的工具,虽然说模式有千千万,但是在这里我们只学习23种设计模式和6种模式原则。
首先,来讲个故事:从前,有个小国家叫设计模式国,他们里面有很多勤劳的人,随着经济的发展,它们的生活水平也在不断提高,对于生活的要求也不断提高,所以社会的分工就在不断的细化,然而越分越多,就造成了很多资源上的浪费。为了达到资源复用的目的,所以国王决定对人们进行分工,把长生产的人称为创建型人才,把需要处理很多关系的称到结构型人才,然后把最后一部分有很多自己特长的人称为行为型人才。
因为被分到不同的组织里了,所以就有人想评评谁是最厉害的,大家因为这个挣得面红耳赤,最后劳民伤财也没有争出个个结果。国王为了每个人都能和睦相处,使资源不再浪费得到多次利用,做个好公民,颁布了6部法律,告诉他们,每个人担任的职责不一样。



在学习设计模式的时候,因为书上的例子讲的很生动,是由浅入深,动静结合,所以很好理解,设计模式是面向对象理解加深的好工具。
就比如面向对象的4大核心,抽象、封装、继承、多态。还有关联、依赖、继承、泛化和组合/聚合这些关系构成了设计模式,千变万化的对象和对象关系,抽象和实例化关系,接口和对象的关系及一对一的关系、一对多的关系、多对多的关系等等。而且这些模式和生活的联系也很紧密,从吃饭到穿衣,到求职到加薪,等等等等,都是给我了非常大的启发——生活要学习,学习即生活。



小菜学习完设计模式的时候,就做梦有个设计模式大赛,所有设计模式都被拉上了竞技场,经过层层删选,也没有得到冠军。因为设计模式的存在是为了让程序有可维护性、可复用性、可扩展性以及灵活性这些特性,单凭几点原则和在某些方面特有的作用,是不能达到目的的。我们学习设计模式就是要在实际编程中,选出最适合的进行使用。我想那样才是设计模式真正的魅力所在吧!

可能上面的例子或者图中的分类关系有些不妥的地方,我也相信其他人会有更好的分类方式,但是就让我们相信自己一次,多一种角度分析问题,或许下一次就会找到最合适的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: