我在网络开发商店工作,所以很自然地我们处理用户配置文件.在处理我们的某个网站时,我注意到没有"用户"类,这让我觉得奇怪,因为我们肯定有用户.相反,该站点依赖于与DataRows(这是C#)的交互,通过静态方法返回,几乎没有实例化.我问我的老板关于为用户创建一个类,他的回答是,因为对象必须重建太多,所以通常不值得.
我对Web开发比较陌生,每次重建页面时都必须实例化对象似乎有点浪费,但另一方面我总是发现面向对象的编程很有用.所以我很想知道一些意见,你们在网页开发中使用OOP多少钱?
我不使用OOP的唯一时间是:
我正在创建一个简单的项目来测试一些逻辑.这通常会导致创建正确的类......
我正在使用经典ASP(已经有一段时间,感谢上帝).
我不是编程.
发布以上内容后编辑 3年以上; 我在回答一下.
OOP非常棒,并且允许我们在多个系统与相同数据/逻辑交互时具有极大的灵活性.但是,肯定存在这样一种情况:您不想打扰加载大量对象.也就是说,当您只是为表格显示提取数据时.
查询数据库并获得立即发送到浏览器的简单记录集通常不需要涉及OOP.事实上,您可能想要完全回避OOP,因为表格数据通常涉及其他信息(子记录的总和)的汇总,并且您通常不希望从数据库中提取比实际使用的数据更多的数据.即.如果你只显示名称和电子邮件,你可能不想获取用户名,因为这只是浪费的周期.
现在,将信息放入数据库通常需要确保遵循某些业务逻辑.例如,用户名遵循某些规则.在这些情况下,利用OOP风格可以使事物更加封装,并且可以在系统之间轻松传输.
因此,看一下具体的例子:在提取数据时,我不会打扰将数据表交给转发器; 但是当我要创建一个新用户或对该用户进行操作以确保正确遵循业务规则时,我会有一个用户类.
一个问题:数据是否需要与函数/方法调用相结合?如果没有,则不需要 OOP .
您最好的方法可能是找到一个空白板,使用面向对象设计创建高级模型,然后使用功能设计创建高级模型,然后使用Procedural创建.您可能会对结果感到惊讶(和其他人).根据项目的不同,可以使用相同的语言.如@wj所述.OOP只是一种范例,不要害怕走出你的舒适区域并使用不同的范例进行设计.
花时间设计使用不同的范例也会帮助你接近老板讨论为什么你应该或不应该使用当前的范例.大多数老板会很感激你花了很多时间进行研究,然后才接近他们的想法 - 这并不是说他们会接受你的想法,但是知识渊博可能会让你多花几分钟时间注意他/她的注意力.
恕我直言(不要个人对待),"面向对象的编程"已经与"Web 2.0" - 一种流行词,这是不幸的; 你现在看到开发人员强迫OOP哪里更适合使用FP或PP.
我可以给出的最好的专业建议是在多种范式中设计(首先是高级别,然后是潜水)(尽量不要有偏见 - 保持开放的心态)并决定哪种方式最适合您的应用程序的工作方式.在我15年的经验中,75%以上的时间我发现OOP是不必要的,尽管我目前的项目是严格的OOP.
一个更重要/相关的问题是,"面向对象的设计在我当前的 Web开发中占有一席之地吗?"