Oop 面向对象设计在web开发中占有一席之地吗?

Oop 面向对象设计在web开发中占有一席之地吗?,oop,Oop,我在一家网络开发商店工作,所以我们自然会处理用户档案。在处理我们的一个网站时,我注意到没有“用户”类,这让我感到奇怪,因为我们当然有用户。相反,站点依赖于与通过静态方法返回的DataRows(这是C#)进行交互,几乎没有实例化。我问我的老板关于为用户创建一个类的问题,他的回答是,由于对象需要重建太多,所以通常不值得 我对web开发比较陌生,每次重建页面时都要实例化对象似乎有点浪费,但另一方面,我总是发现面向对象编程很有用。所以我很想听听一些意见,你们在web开发中使用OOP的程度如何?当然。你(

我在一家网络开发商店工作,所以我们自然会处理用户档案。在处理我们的一个网站时,我注意到没有“用户”类,这让我感到奇怪,因为我们当然有用户。相反,站点依赖于与通过静态方法返回的DataRows(这是C#)进行交互,几乎没有实例化。我问我的老板关于为用户创建一个类的问题,他的回答是,由于对象需要重建太多,所以通常不值得

我对web开发比较陌生,每次重建页面时都要实例化对象似乎有点浪费,但另一方面,我总是发现面向对象编程很有用。所以我很想听听一些意见,你们在web开发中使用OOP的程度如何?

当然。你(更重要的是你的老板)说“重建”就像是一件大杂事


你所说的“重建”是指运行程序。告诉你的老板OOP通常是愚蠢的,因为即使在桌面环境中,每次有人运行一个软件时,对象都需要重新构建,所以它根本不值得。

OOP只不过是一种编程范式而已。!!但他的重要性在于hi是使用中的实际范例,这意味着软件工程中的所有现代知识和最佳实践都将按照这种编程风格来表达

在您的案例(web开发)中,一个很好的例子是



(来源:)

我唯一不使用OOP的时候是:

  • 我正在创建一个简单的项目来测试一些逻辑。这通常会导致创建正确的类

  • 我用的是经典的ASP(谢天谢地,已经有一段时间了)

  • 我不是在编程

  • 编辑 发布上述信息后3年以上;我在我的答案后面加了一点

    OOP非常好,它为我们提供了巨大的灵活性,让多个系统与相同的数据/逻辑进行交互。但是,在某些情况下,您肯定不想费心加载大量对象。。也就是说,当您只是为了表格显示而提取数据时

    查询数据库并获取立即发送到浏览器的简单记录集通常不需要OOP。事实上,您可能希望完全避开OOP,因为表格数据通常涉及其他信息的汇总(子记录的总和),并且您通常不希望从数据库中提取比实际使用的数据更多的数据。如果你只显示用户名和电子邮件,你可能不想抓取用户名,因为那只是浪费时间

    现在,将信息放入数据库通常需要确保遵循某些业务逻辑。例如,用户名遵循某些规则。在这些情况下,利用OOP风格可以使事情更加封装,并在系统之间轻松传输


    因此,看一看具体的例子:在提取数据时,我只需要将数据表交给中继器;但是当我要创建一个新的用户类或对该用户进行操作以确保业务规则得到正确遵守时,我会有一个用户类。

    老板的评论是无用的。net框架由对象组成,其他什么都没有。“响应”是一个对象,即使在“经典ASP”中也是如此——如果资源无效,人们为什么要实现它?

    虽然对象使一些程序员更容易开发,但我已经阅读了一个完美的例子,说明了如何在没有OOP的情况下构建整个网站。一盎司也没有。查看20页系列文章“Clean PHP:

    超级容易遵循,干净的方式建立一个完整的网站。没有令人困惑的OOP,没有超级嵌套的文件夹,没有疯狂的意大利面代码可以遵循几个小时。。。只需简单、干净、布局良好的函数即可完成所需的一切,无需使用OOP。这个例子包含了从登录/注册凭证、管理部分(CMS)、甚至数据库装置到入门、使用mapquest API进行邮政编码/lat-long查找的搜索功能。。。我的意思是,它有一个核心项目或网站的一切

    为什么要麻烦OOP呢?干净、结构正确的过程代码非常棒

    关于OOP的话题。我记得另一个流行时尚,每个人都认为吸烟很酷,每个人都这么做了,但后来发现吸烟给你带来了一大堆问题

    坚持简单,坚持你所知道的。成为PHP的专家,你就再也不必依赖框架了。不要让我从OOP MVC框架开始。web的解释语言从来就不是OOP。OOP只是增加了另一层复杂性。别偷懒了。使用您的PHP,并学习如何使用该程序

    另一方面,我可以看出,如果没有OOP,在控制台上制作游戏是多么困难。但话说回来,这是苹果和桔子。控制台游戏将其对象保留在内存中,直到游戏退出或对象从游戏中销毁。想想看。。。为什么他们在每一层前面都有一个装载杆?现在,想象一个网页,它必须在每次加载时向您显示一个加载条,因为它必须从数据库创建对象。SLOOOOWWW中心!一旦你离开这个页面,你必须重新开始

    网页本身就是应用程序。这就像每次你走到起跑线时重建你的赛车,但在终点线时却把它拆开。冰箱?认真地嘿,认为OOP很酷的超级天才。。。别让你的鬼东西进入我的网站


    只是说,这是我10多年的web开发经验,你知道当我们用HTML一个接一个地编写页面时吗?

    一个问题:数据需要与函数/方法调用耦合吗?如果不是,那么OOP就是