避免“锤子”心理
来源:互联网 发布:疯狂的美工助手破解版 编辑:程序博客网 时间:2024/05/01 18:21
避免“锤子”心理
昨天看《大话设计模式》,其中讲到主人公小菜,自从理解了面向对象中的继承,就喜欢使用这样的代码结构,进而限制了思维的事。
我不由地开始反思自己最近的想法。要引以为戒啊。
一、反思
这种“锤子”心理的本质其实是想要立刻有回报——我学会了这手,就要让它派上用场,否则我付出了时间和心血,我就亏本了。结果很有可能为了使用而使用,不仅没有给自己带来方便,反而带来麻烦。
学技术其实很忌讳这样的心理。要引以为戒。
同时,学技术,还应该有这样的肚量——这个东西我学习了,可能不会用上,可能用得很少,或者干脆用不上(可能性很小的哦,更多的情况是你在使用,缺浑然不觉)。但是话说回来——夜路走多了,总会用得上的。除非不对路。
二、组合/聚合复用原则
继承、组合、聚合都是面向对象中复用代码的常用手段。
继承。对象的继承关系是在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它的父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。当你需要复用子类是,如果继承下来的实现不合适解决新的问题,则父类必须重写或者被其他更合适的类替换。这种依赖关系限制了灵活性并最终限制了复用性。
组合。组合是一种强“拥有”关系,例如大雁和翅膀。大雁拥有翅膀,且两者生命周期一样。组合强调“组”字,是部分和整体的关系。
聚合。聚合是一种弱“拥有”关系,例如大雁和雁群。雁群少一只大雁其实还是可以称之为雁群的。聚合强调“聚”字,是包含和被包含的关系,但被包含不一定就是其中的一部分。
三、随感
上面好大一段都是抄的《大话设计模式》原话。如果我们只是整理、解析别人东西,其实是不可能超越的。只有你去创造,去开拓,去建立前人没有的东西的时候,才能成一家之言。
- 避免“锤子”心理
- 人无法避免的十个心理状态!
- 社交应该避免的病态心理
- 网站建设时需要避免这些心理
- 职场社交应避免的不良心理
- 心理
- 心理
- 老罗是个锤子
- 直面心理
- 心理暗示
- 心理测试
- 心理寓言
- 心理测试
- 熊市心理
- 赌徒心理
- 心理矛盾
- 心理测试
- 心理测试
- 简单的数据结构——顺序表
- #define的用法及与typedef的区别
- 为什么现在大多数服务器使用linux系统区别的一些总结
- 十九、Hive日志分析案例一
- WinEdit初使用
- 避免“锤子”心理
- 程序员进阶之路—如何独当一面
- scala入门
- 关于STM32 中的外部中断EXIT的说明和如何启用
- bzoj 3926: [Zjoi2015]诸神眷顾的幻想乡 后缀自动机
- 【BZOJ 4445】[Scoi2015]小凸想跑步 半平面交
- debug的使用--必备
- HDU
- C++与运算(&)错误笔记(优先级)