是一个图像显示网站,更适合于过程或面向对象编程


Is an image display website better suited for procedural or OO programming?

我有一个漫画网站http://hittingtreeswithsticks.com,我想我不清楚它是用哪种风格编写的,是程序式的还是OO式的。

基本上,有几个"模板",主页.php, viewall.php, viewFullSize.php,调用各种脚本…也就是说,所有模板都包括imageDisplay.php,它有几个脚本,这些脚本决定如何根据选择的类别、标签或子网站进行查询。

我读了很多关于OO编程的好处——什么时候使用它,什么时候不使用它……但是我仍然很难回答这个问题。

从示例的角度来看,我理解OOP和过程式编程之间的区别是:

OOP:如果你有一个用户可以创建对象的网站,比如一个用户可以提交帖子的论坛…那么您就会想要使用OOP,因为您希望允许用户创建Article类的多个实例。

程序性:我选择了我认为是程序性的,因为我的漫画网站只是简单地向用户展示漫画。用户可以使用DISQUS提交评论,或者喜欢/不喜欢。我看不出有什么地方可以把面向对象的范例应用到一个简单的图像显示站点中。

所以,问题是:

要使用OOP,您是否一定需要有几个将被实例化的对象?还是我错过了其他好处?

谢谢

Do both

把这些过程称为"方法",或者把你的方法称为"程序"。

对象不需要与现实世界的对象相对应,它与模块化和将代码移动到孤立的(!)块一样多,就像"对象"一样。

总而言之,网站不是最好的理解OOP。继承太少

代替,写一个模拟。例如,一条道路可能有一个十字路口,几个司机在附近开车。

从一个愚蠢的驱动开始,然后尝试允许用不同的智能驱动将子类化。或者好斗的司机。看看它们是否会造成更多的交通堵塞。

试着从一个问题开始,你有一个自然对象,有很多共同的特征,只有少数不同。

始终编写面向对象的代码。人们编写过程式PHP的唯一原因是他们使用的是PHP 5之前的版本。

回答你的问题,没有。你可以有一个单一的对象。OOP仅用于代码组织和DRY主体的实现。

OO通常是一种更好的方法,只要您正确地编写文档并意识到类依赖/一致性/层次结构。

除了为代码增加一点安全性之外,正确实现的OOP在添加和升级新特性、组织代码、重用逻辑方面确实很强大。因为所有的东西都在它的对象定义中,所以你总是知道在哪里查找和查找什么。

是的,有时有点棘手,但这是值得的。

非面向对象是只在基本方法、小编码方面的好做法。比如"Hello world":p或者一个非服务器内容依赖的内容,或者更好地称为静态网站。

对于OO,你不需要对象有像参数之类的定义。在你的例子中,你可以有一个对象用于数据库处理,另一个用于顶部菜单栏,另一个用于处理漫画书相关的东西,如排序,列表…基本上把所有东西都包装在相应的位置,更有效地重用代码。

希望对您有所帮助