我读过很多人说有些东西不应该以面向对象的方式写出来 - 作为一个学习来自C背景的OO风格的人,他们的意思是什么?
什么不应该是OO,为什么有些东西更适合这种设计,我们怎么知道什么时候最好做什么?
现实世界充满了物体.
使软件世界与现实世界相匹配是有帮助的.
"那么'系统实用程序'呢?他们只处理套接字,进程和文件系统等抽象问题." 他们听起来像是我的事.他们有属性和行为,他们有联想.
如果您正在寻找OO 更好的证据,那就没有.没有比这更好的了,因为更好的是一个光荣模糊的术语.任何聪明的人都可以用任何风格编写任何程序.您可以采用功能,程序,面向对象或任何您想要的东西.
我使用面向对象,因为我的脑部非常小,必须学会在其极限内生活.OO是帮助我通过编程奋斗的拐杖.如果我更聪明,更富有,更好看,我不需要帮助,我可以编写非OO程序.可悲的是,我并不聪明.如果没有类定义来分离责任和构建架构,我仍然会编写单文件"hello world"变体.