V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
versionzhang
V2EX  ›  Python

关于设计模式,求推荐书籍

  •  
  •   versionzhang · 2015-08-03 16:45:46 +08:00 · 3906 次点击
    这是一个创建于 3432 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在看python的一个web框架tornado,里面有一些抽象类等面向对象的编程方法,但是由于对面向对象和设计模式并不是很熟悉,所以很吃力。

    求帮忙推荐几本关于面向对象以及设计模式的书籍,最好带例程的,python尤佳,谢谢

    10 条回复    2015-08-03 23:33:32 +08:00
    messense
        1
    messense  
       2015-08-03 17:12:33 +08:00
    xx314327475
        3
    xx314327475  
       2015-08-03 19:53:09 +08:00 via iPhone
    headfirst
    ffffwh
        4
    ffffwh  
       2015-08-03 20:52:27 +08:00
    a little java, a few patterns
    creatorYC
        5
    creatorYC  
       2015-08-03 20:54:45 +08:00
    设计模式之禅,第二版
    imjackie
        6
    imjackie  
       2015-08-03 21:02:30 +08:00
    每次遇到这种情况,感觉都是在列书名。
    0xfan
        7
    0xfan  
       2015-08-03 21:12:47 +08:00
    head first design patterns
    F32
        8
    F32  
       2015-08-03 21:19:18 +08:00
    @imjackie 是的呀,现在都懒得回复了
    tinyproxy
        9
    tinyproxy  
       2015-08-03 22:44:05 +08:00
    HeadFirst那本,然后看四人帮那本。
    千万不要把顺序换过来,不然正常情况下,你第一次是在浪费时间。
    千万不要把顺序换过来,不然正常情况下,你第一次是在浪费时间。
    千万不要把顺序换过来,不然正常情况下,你第一次是在浪费时间。
    PS:如果你看懂了,你会发现tornado这个代码写的不复杂,非常轻松就能搞定结构。恐怖是是chromium那种,大三撸这个的时候第一次吐了。
    ariestiger
        10
    ariestiger  
       2015-08-03 23:33:32 +08:00   ❤️ 2
    你如果要是准备面试呢, 我给你指条歪路吧
    程序就是数据(OO 中的对象)和行为(方法,函数,消息啥啥的)
    写程序,就是在那里接受数据,产生数据,行为和行为之间交互。
    所以设计模式,主要就是讲怎么产生数据(什么单例,工厂,静态工厂,builder啥啥啥的),怎么组织行为(什么我不做,委托给其他的对象做,什么一个做完交给下一个接着做,连迭代这种玩意儿都能算模式,也是觉得拿个鸡毛当令箭),和怎么组织对象之间的关系(连对象A作为对象B的属性这种所谓的Composition都能算作模式,也真是......)。你就把那些设计模式一类挑几个,问你的时候,你就先谈谈“你的见解”,每一类举几个例子说明一下,基本上对付一般公司的技术面试就差不多了。

    其实说白了(也非常可能是我没在好公司待过),现在这好多跑在线上的代码,都乱得像一锅粥,还模式呢,各种稀奇古怪的命名(上周对着一个用了 mybatis(几年不用,不知道这玩意现在到底是叫mybatis, 还是ibatis了)的项目,我看着一个 baseDao.xml 和一个 basicDao.xml,我真怀疑是不是有人是靠记忆力在编程的),一搞就是几百行的方法体,这种代码里面去谈什么模式,那就真是活见鬼了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6037 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:03 · PVG 10:03 · LAX 18:03 · JFK 21:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.