使用一种语言,例如(因为我现在正在使用它)PHP,它支持过程和面向对象的范例。
是否有一个好的经验法则可以确定哪种范式最适合新项目?如果没有,你怎么能做出决定?
使用一种语言,例如(因为我现在正在使用它)PHP,它支持过程和面向对象的范例。
是否有一个好的经验法则可以确定哪种范式最适合新项目?如果没有,你怎么能做出决定?
这完全取决于您要解决的问题。显然,您可以用任何一种风格(过程式或 OO)解决任何问题,但您通常可以在开始编写代码之前在规划阶段弄清楚哪种风格更适合您。
有些人喜欢写用例,如果他们看到很多相同的名词一遍又一遍地出现(例如,一个人从银行取钱),那么他们会走 OO 路线并使用这些名词作为他们的对象。相反,如果你没有看到很多名词,而实际上有更多的动词在进行,那么程序性或功能性可能是要走的路。
Steve Yegge 像往常一样有一篇很棒但很长的帖子,它从不同的角度谈到了这一点,你可能会发现它也很有帮助。
如果您正在为自己做某事,或者您只是在做一个原型,或测试一个想法……请使用脚本语言为您提供的自由风格。
在那之后:总是在对象中思考,尝试围绕 OO 范式组织你的工作,即使你正在编写程序性的东西。然后,重构,重构,重构。