您的位置:首页 > 其它

<<设计模式-可复用面向对象软件的基础>>读书笔记

2016-06-25 21:55 531 查看
设计模式有多重要,每个做开发的人都清楚。弄清楚设计模式很难,能熟练运用就更难了。读别人的代码是

一件很享受的事情,因为可以挑比人代码的不足,从而产生优越感。

但是,如果你突然发现别人的代码写的特别好,有好多东西看不明白。找不到具体实现,找不到调用位置的时候,你会很尴尬的。人家代码封装的太好了,我们需要学习了,来学习他的代码,学习他的抽象思维。起初,我写代码,都是连在一起的,一个类我写过一万多行的,一个方法我写过两千多行的,到后面自己在维护和改造的时候,都很难受的。需要学习的时候到了,需要系统的去学习怎么去设计一个软件。

对扩展开放,对修改关闭。这是前辈们对我说的最多的一句话,当然,我明白它的意思,也一直把它记在心中,但是在开发中真的很难做到。我一直在反复思考,抽象思维太差?面向对象基础理解的不深刻?考虑问题不够全面?看书吧,基础、系统知识点的全面,也许能让我的全局操作意识更好。

设计模式太多了,这本书读完了,我只能说我有了一个更深层次的概念。不明白的还是不明白,清楚的更加深刻了。原来一个工厂模式的工厂,也应该用单例来实现的。但是,我反过来想想,如果我不用单例,它也就是多生成了几个工厂而已,多浪费了点内存空间,入口就不再是唯一,排错也就更难了一点。

开发了这么久,用到的设计模式也不是很多,印象深刻的也就是 Observer 模式,Java、Android中都有它的实现,在项目中也有需要它的实现,这样的代码写出来确实很精巧,很漂亮,bigger,新手也不一定能看的懂。但是,如果新手看不懂,我们得花时间跟他讲,这是不是又是一个资源的浪费,但是提高了他的代码水平,以及降低我们以后的维护成本,新手的学习也需要成本。什么事情都有两面性,毕竟我们是需要发展的,也是应该要进步的。

这本书写的很好,虽然很多设计模式我没看明白,因为在项目中没有用到。比如 Chain of Responsibility 模式、Interpreter 模式 …我虽然没有彻底明白它,但我对它有了一个基础的概念,也许在以后开发的过程中,我会想到可能用它的场景,我会再次去学习它,使用它。在说回本书,这是一本比较老的关于设计模式的书,九几年写的,书中的示例代码是 C++写的,但是举例的场景不是很好,我称之为属于老一辈的软件思维了。也许在当年,这本书走在技术的前沿,但如今绝对不是,它的阅读成本还是比较大的,得有一定的代码基础以及面向对象思维才能看明白的。

在本书的最后,也是对我感受最深的地方。设计模式的精髓:封转变化,解耦抽象。让代码的结构更好,管理起来更方面,抽象的思维,对封装的理解,上下的解耦。

前方不远,继续前进。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息