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

2019-04-30 09:23:07 +08:00
 waiaan

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

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

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

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

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

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

顺爱每个语言,甚至统一语言的不同类库,都有不太一样的编程范式。你一定要去适应这种不同,而不是用你自己统一的编程范式去用各个类库。后者是吃力不讨好的,因为你为了统一范式,很可能需要给每个类库写一套 wrapper api,而且你自己的 wrapper api 很可能反而比不上原始的范式方便清晰。
ipwx
2019-04-30 15:35:45 +08:00
顺便提醒一点,为了体会最精粹的每个类库的编程范式,千万从官方文档开始看。不要看中文博客的内容,不要看别人咀嚼过一遍留下的残渣。那种文章很可能代入了作者自己的范式,反而落了下成。
oaix
2019-04-30 16:20:42 +08:00
把 if 语句改为多态实现
miao666
2019-04-30 16:26:44 +08:00
学 java,真正的语言
大厂的作品,稳定运行
高深的概念,不写都行
chunhua20
2019-11-04 17:22:05 +08:00
@zhazi 设计模式和 DDD 哪个先学捏?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/559974

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX