【问题标题】:What's the benefits of SOA over OO? [closed]SOA 相对于 OO 有什么好处? [关闭]
【发布时间】:2011-01-25 08:17:59
【问题描述】:

我想知道 SOA 和 OO 的区别,为什么 SOA 会流行?

【问题讨论】:

  • 你不能这样比较它们。先看这个问题“什么是SOA in plain English”:stackoverflow.com/questions/2026523/…
  • @ghedas:我的回答对你来说是不是垃圾邮件?
  • 苹果到橘子...两者应该共存。
  • 发动机和汽车有什么区别?

标签: oop architecture soa


【解决方案1】:

SOA 越来越流行,因为它带来了几个好处:

  • 使您的系统更具可扩展性
  • 更易于第三方代码使用,例如您客户的客户端及其系统
  • 它保留了您的业务逻辑,并且能够更轻松地添加其他表示层。这也可以通过其他方法实现。

我认为这些是 SOA 的主要优势。但是你不能比较 OOP 和 SOA .. 它们是不同的东西,它们是不可互换的。 SOA 是一般的软件架构,而 OOP 是编程范式。

【讨论】:

    【解决方案2】:

    你无法真正比​​较这两者。

    OOP 是一种编程语言范式。其他的是“函数式编程”或“过程式编程”。

    您可以使用 OO 语言来使用或创建服务,但也可以使用函数式语言来执行此操作。

    简而言之,SOA 和 OOP 是两个不同的东西,您不能将它们相互对立。

    【讨论】:

    • +1,但我要吹毛求疵... OO 本身并不是一个真正的编程模型。 OO 倾向于有两种风格,一种似乎主要是过程编程的一个子集,另一种主要是 Actor 模型的一个版本(我认为这是第三种、第一种编程范式以及过程和函数式编程)。
    【解决方案3】:

    透视:

    • OO 是一种在单个地址空间中构建应用程序的方法。公共合约是 API

    • SOA 是用于构建跨多个地址空间的应用程序(分布式应用程序)的架构模式。公共合约是持久数据(即有线格式)本身。

    在 SOA 之前,有人努力将 OO 扩展到构建分布式应用程序,但这种称为 CORBA 的努力完全失败了。人们学到的一件事是,在构建分布式应用程序时,您必须明确公开有线格式(数据),而 OO 试图隐藏这些格式……不要将服务视为 RPC,而是将其视为消息生产者和生成者。

    【讨论】:

    • @Jimmy:我明白了,还在发垃圾邮件。
    • 我觉得你技术不够,不能打那个电话……我还是放弃和你争论吧(打死马有什么意义)
    • 为什么这个答案被否决了?任何技术原因错误?
    猜你喜欢
    • 2016-05-07
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多