关于设计模式,求推荐书籍
最近在看python的一个web框架tornado,里面有一些抽象类等面向对象的编程方法,但是由于对面向对象和设计模式并不是很熟悉,所以很吃力。
求帮忙推荐几本关于面向对象以及设计模式的书籍,最好带例程的,python尤佳,谢谢
----------------------- 以下是精选回复-----------------------
答:https://github.com/faif/python-patterns
答:http://cdn.oreillystatic.com/en/assets/1/event/12/_The%20Lack%20of_%20Design%20Patterns%20in%20Python%20Presentation.pdf
答:headfirst
答:a little java, a few patterns
答:设计模式之禅,第二版
答:每次遇到这种情况,感觉都是在列书名。
答:head first design patterns
答:HeadFirst那本,然后看四人帮那本。
千万不要把顺序换过来,不然正常情况下,你第一次是在浪费时间。
千万不要把顺序换过来,不然正常情况下,你第一次是在浪费时间。
千万不要把顺序换过来,不然正常情况下,你第一次是在浪费时间。
PS:如果你看懂了,你会发现tornado这个代码写的不复杂,非常轻松就能搞定结构。恐怖是是chromium那种,大三撸这个的时候第一次吐了。
答:你如果要是准备面试呢, 我给你指条歪路吧
程序就是数据(OO 中的对象)和行为(方法,函数,消息啥啥的)
写程序,就是在那里接受数据,产生数据,行为和行为之间交互。
所以设计模式,主要就是讲怎么产生数据(什么单例,工厂,静态工厂,builder啥啥啥的),怎么组织行为(什么我不做,委托给其他的对象做,什么一个做完交给下一个接着做,连迭代这种玩意儿都能算模式,也是觉得拿个鸡毛当令箭),和怎么组织对象之间的关系(连对象A作为对象B的属性这种所谓的Composition都能算作模式,也真是......)。你就把那些设计模式一类挑几个,问你的时候,你就先谈谈“你的见解”,每一类举几个例子说明一下,基本上对付一般公司的技术面试就差不多了。
其实说白了(也非常可能是我没在好公司待过),现在这好多跑在线上的代码,都乱得像一锅粥,还模式呢,各种稀奇古怪的命名(上周对着一个用了 mybatis(几年不用,不知道这玩意现在到底是叫mybatis, 还是ibatis了)的项目,我看着一个 baseDao.xml 和一个 basicDao.xml,我真怀疑是不是有人是靠记忆力在编程的),一搞就是几百行的方法体,这种代码里面去谈什么模式,那就真是活见鬼了。
0条评论