当前位置:  开发笔记 > 编程语言 > 正文

一般编程问题.什么时候使用OOP?

如何解决《一般编程问题.什么时候使用OOP?》经验,为你挑选了2个好方法。

我的程序需要做两件事.

    从网页中提取内容.

    做一些网页的东西.

但是,有很多网页,如Twitter和Facebook.

我应该这样做吗?

def facebookExtract():
    code here
def twitterExtract():
    code here
def myspaceExtract():
    code here
def facebookProcess():
    code here
def twitterProcess():
    code here
def myspaceProcess():
    code here

或者,我应该上某种课吗?什么时候建议使用类,什么时候建议只使用函数?



1> S.Lott..:

"我的计划需要做两件事."

当你这样开始时,无法看到对象.你的观点是不对的.

改变你的想法.

"我的程序与东西一起工作"

这是OO的想法.你的程序使用什么"东西"?定义东西.那些是你的基础课程.每种东西都有一个类.

"我的程序从各种来源获取东西"

每个来源都有一个班级.

"我的程序显示的东西"

这通常是东西的访问器方法和一些"报告"类的组合,这些类收集部分内容以显示它.

当你开始定义"东西"而不是"做"时,你正在做OO编程.OO适用于所有事物,因为每个程序都涉及"做"和"东西".你可以选择"做"POV(可以是程序性的或功能性的),或者你可以选择"东西"POV(面向对象).



2> Alex Martell..:

我最喜欢的经验法则:如果你有疑问(不言而喻的假设:"你是一个理性的人而不是狂热的人";-),那就制作并使用一些课程.我经常发现自己将最初编写为简单函数的代码重构为类 - 例如,任何时候简单函数与彼此通信的最佳方式都是全局变量,这是代码气味,强烈暗示系统的分解是不是很好 - 通常重构OOP方式是一个合理的解决方案.

Python是多范式的,但它的核心范例是OOP(很像C++).当程序或功能方法(可能通过生成器和c)对于系统的某些部分来说是最佳的时,这通常是突出的 - 例如,静态函数也是代码气味,并且如果您的类具有任何大量的那些,那么提示重构事物以避免这种要求.

因此,假设您对Python提供的所有范例有着丰富的把握 - 如果您仍然存在疑问,那么这表明您可能希望为系统的那一部分进行OOP!仅仅因为Python支持OOP甚至比它支持函数式编程等更全面.

从您的骨架代码来看,在我看来,每个提取/进程对都属于一起,可能需要通信状态,因此一小部分具有提取和处理方法的类似乎很自然.


python中的所有东西都是一个对象; 包括功能.而且,过早的抽象是所有邪恶的根源.
>>过早抽象是所有邪恶的根源>> :-)
推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有