V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
waiaan
V2EX  ›  问与答

怎么训练自己的编程思维转为面向对象?

  •  
  •   waiaan · 2019-04-30 09:23:07 +08:00 · 3119 次点击
    这是一个创建于 2060 天前的主题,其中的信息可能已经有所发展或是发生改变。

    面向对象、函数式编程这类的思维方式要怎么培养或者训练? 谢谢!

    18 条回复    2019-11-04 17:22:05 +08:00
    vindurriel
        1
    vindurriel  
       2019-04-30 09:33:44 +08:00 via iPhone
    首先你要有一个对象 然后需要做的就是面向他(她它)
    Cbdy
        2
    Cbdy  
       2019-04-30 09:36:07 +08:00
    《面向对象分析与设计》,Grady Booch
    whypool
        3
    whypool  
       2019-04-30 09:36:14 +08:00
    用 oop 语言
    kzfile
        4
    kzfile  
       2019-04-30 09:49:57 +08:00   ❤️ 1
    这个东西,当你真正需要的时候,就会深刻理解.在学校里,尽管我学了一些,写了不少,但我还是不明白为什么要面向对象,什么时候需要面向对象.
    shylockhg
        5
    shylockhg  
       2019-04-30 09:51:18 +08:00
    用 c 语言写可锻炼
    huiyifyj
        6
    huiyifyj  
       2019-04-30 09:52:08 +08:00 via Android
    @shylockhg cpp 和 Java 比 c 合适多了。
    zhazi
        7
    zhazi  
       2019-04-30 11:15:24 +08:00
    s.o.l.i.d
    面向对象分析与设计 里面知识太松散了
    清晰架构
    领域驱动设计
    敏捷软件开发
    这几本书看下来算是有基本认识了
    经验还是要考实战啊
    jiangzhizhou
        8
    jiangzhizhou  
       2019-04-30 11:17:15 +08:00
    大公司做个 Intern 就什么都会了。
    impl
        9
    impl  
       2019-04-30 13:07:14 +08:00 via Android   ❤️ 2
    现在的趋势不是都开始去对象了吗,参考 go 或 rust
    whileFalse
        10
    whileFalse  
       2019-04-30 13:41:27 +08:00
    多写,多改。
    Tomotoes
        11
    Tomotoes  
       2019-04-30 14:05:56 +08:00 via Android
    在冯诺依曼架构上,一切都是面向过程的,指令按行执行。

    面向对象是对数据的访问方式加了层抽象,只有类才是第一成员,其他都是弟弟。一切都是 名词. 这种脑残的设定,再加上疯狂的营销,愣是把对的说成错的。不然也不会出现设计模式这种复杂的东西。

    你使用一些纯 oop 的语言,过段时间就好了,比如 java c#,加油。

    正方辩手发言完毕。
    dfjslkjdf
        12
    dfjslkjdf  
       2019-04-30 14:07:39 +08:00
    面向对象就是模拟现实世界,不需要刻意培养,
    而是要培养怎么用代码表达现实世界的能力。
    SpiderShrimp
        13
    SpiderShrimp  
       2019-04-30 15:27:46 +08:00
    ipwx
        14
    ipwx  
       2019-04-30 15:34:39 +08:00
    其实面向对象是个太纯粹的概念。现代编程语言或多或少都是混合式的编程方法,比如 Java 8 已经是 OOP + FP 了。

    我的建议是,不要想太多,多学习你主力语言优秀的库,多体会他们的 tutorial 的编程范式,然后去写点不小的练习项目。就会了。

    顺爱每个语言,甚至统一语言的不同类库,都有不太一样的编程范式。你一定要去适应这种不同,而不是用你自己统一的编程范式去用各个类库。后者是吃力不讨好的,因为你为了统一范式,很可能需要给每个类库写一套 wrapper api,而且你自己的 wrapper api 很可能反而比不上原始的范式方便清晰。
    ipwx
        15
    ipwx  
       2019-04-30 15:35:45 +08:00
    顺便提醒一点,为了体会最精粹的每个类库的编程范式,千万从官方文档开始看。不要看中文博客的内容,不要看别人咀嚼过一遍留下的残渣。那种文章很可能代入了作者自己的范式,反而落了下成。
    oaix
        16
    oaix  
       2019-04-30 16:20:42 +08:00
    把 if 语句改为多态实现
    miao666
        17
    miao666  
       2019-04-30 16:26:44 +08:00
    学 java,真正的语言
    大厂的作品,稳定运行
    高深的概念,不写都行
    chunhua20
        18
    chunhua20  
       2019-11-04 17:22:05 +08:00
    @zhazi 设计模式和 DDD 哪个先学捏?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5406 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 05:51 · PVG 13:51 · LAX 21:51 · JFK 00:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.