应该如何设计Web应用程序接口?

时间:2009-10-28 18:20:06

标签: oop

我正在构建一个Web应用程序,并且已经被告知使用面向对象的编程范例会影响应用程序的性能。

我正在寻找有关从一个巨型功能转向面向对象的编程接口的设计选择的输入和建议。

为了更具体:如果Web应用程序使用OOP并创建了生存时间非常短的对象。在服务器上创建对象的性能是否会证明使用更具功能性(我在想静态函数)设计。

4 个答案:

答案 0 :(得分:1)

哇,重要的问题,但简而言之(如果你想了解更多信息,请发表评论)OOP代码/实践(理想情况下写得很好)将为你提供更多的可维护性,可测试性以及在OGF编码中编码的乐趣。

至于速度争论,如果你真的试图从服务器中挤出所有可能的最后一盎司CPU,这真的只是一个问题。在这种情况下,你可能会做错事,需要考虑更好/更多的服务器,或者你为NASA工作或者是为了敢于做。

答案 1 :(得分:1)

我不了解性能,但它确实使维护更容易。

  

我正在寻找输入和   关于设计选择的建议   来自One Giant的转变   面向对象的功能   编程接口。

大卫建议,回答上述内容需要很多页面 也许你应该看看框架。他们为您做出一些设计选择。

答案 2 :(得分:0)

使用OOD / OOP设计Web应用程序最流行的方法是使用模型 - 视图 - 控制器模式。总结3个主要参与者:

模型 - 我是您正在操纵的问题域中的内容。

查看 - 我负责绘制和管理您在浏览器中看到的内容。在Web应用程序中,这通常意味着设置一个html模板并将名称 - 值对推入其中。

控制器 - 我负责处理来自网络的请求,并确定如何处理这些请求,并安排其他对象完成工作。

从控制器开始......

视图和控制器通常成对出现。控制器接受HTTP请求,找出需要做的事情 - 它要么做(如果工作是微不足道的话),要么将工作委托给另一个要做的事。通常它会找到要使用的视图,并将其提供给正在进行实际工作以写入输出的对象。

我在这里描述的内容与Ruby on Rails之类的内容相符。

制作一些你曾经使用过的对象肯定是一个问题 - 但我不会担心前面的性能方面。适当的虚拟机知道如何管理短期对象。你可以做很多事情来加速网络应用程序 - 我首先要牺牲清晰组织的好处,加快速度,甚至可能不是最重要的优化......

MVC不是唯一的方法,还有其他模式,如Model-View-Presenter和一些非常不寻常的方法,如延续服务器(例如Seaside) - 在HTTP请求之间重用相同的对象......

答案 3 :(得分:0)

是。在进行Web应用程序开发的OO方法(使用Seaside)时,我可以更快地提供功能,以至于我有足够的时间考虑如何提供适当的性能。