除了继承之外,在实时Web开发中,其他OO功能有什么主要作用吗?

时间:2011-04-29 17:35:22

标签: java php oop

在Web开发中,我们使用java .net或php5。 都是OO。并拥有所有OO功能。

但是在实时网站中,这些OO功能除了继承之外还扮演着重要的角色。?

任何人都可以通过实时示例列出一些。

在应用程序开发中,可能会大量使用OO。 但是对于网站来说,OO是否扮演了重要角色? 怎么样?

4 个答案:

答案 0 :(得分:6)

早在1995年,这本书Design Patterns就设法在第20页产生了这种非凡的见解:

  

赞成对象组合而不是类继承

从那时起,适当的面向对象就是关于而不是继承。特别是,SOLID原则描述了一组面向对象的原则,适用于可维护性很重要的任何代码库。多态性很重要,但继承是无关紧要的

这适用于Web应用程序以及任何其他类型的应用程序。

答案 1 :(得分:3)

我大量使用封装和多态。具体来说,我使用策略模式(以及其他)非常重要地划分了我的大部分功能。当与依赖注入结合使用时,我可以很容易地将say,我的持久层的功能与业务逻辑或表示层分开。

例如,将hibernate实现与JDBC实现等交换起来是微不足道的。实际上,最近,我刚刚从与Web请求同步操作的电子邮件服务切换到使用消息队列异步的电子邮件服务。发邮件。一旦我实现了新图层,我所要做的就是更改将哪个类注入到使用它的bean中。

编辑:为了解决你的评论,@ zod,我不会这样使用它关于执行的页面虽然确实会不时发生(例如,我有HTML电子邮件和纯文本电子邮件的不同类,具体取决于用户请求的内容)但我主要在应用程序的配置中使用OO主体。这有意义吗?

答案 2 :(得分:0)

首先,OO的主要原理派上用场。举例来说,MVC模式中的数据封装;事实上,您可以拥有一个用户模型来完成所有用户工作,这意味着与用户有关的所有内容都封装在该模型中。这使得以后更容易添加和修改功能。当您想要使用其他人编写的代码扩展您的程序时,可扩展性也会派上用场。只要您知道其类的公共接口,就可以使用它们。

答案 3 :(得分:0)

举一个简单的例子,我们公司大量使用它来保证安全。我们有各种框架的插件,用于控制谁试图访问哪个类和方法。除此之外,我们可以避免用户访问该类和方法,而无需在课程中添加额外的行。

除此之外,我们也使用它们来澄清代码。

除了所有那些做OOP的人都是与大团队一起创建一个大项目的好方法。