【问题标题】:what are (and the difference between) factories, service and util classes? Are there any more concepts in a software project? [closed]什么是(以及它们之间的区别)工厂、服务和实用程序类?软件项目中是否还有更多概念? [关闭]
【发布时间】:2012-01-20 14:28:22
【问题描述】:

我试图了解典型软件项目的概念,但我找不到关于此的体面文章。

  • 什么是工厂?
  • 什么是服务?
  • 什么是实用程序类?

  • 它们之间的主要区别是什么? (例如,是什么让工厂不是服务等)

  • 软件项目中是否还有其他常见的概念?

【问题讨论】:

  • 这些都是很好的、有效的问题,但我认为它们对于 stackoverflow 格式来说可能有点过于宽泛。
  • 你可能会喜欢阅读Design Patterns
  • 我将退还您的赏金并关闭问题。正如目前所写的那样,这个问题太宽泛,无法在这种类型的媒体中回答,但是如果您在学习期间遇到困难,欢迎您回来问一个更具体的问题。祝你好运。

标签: service factory


【解决方案1】:

工厂是The Factory Pattern 的实现。这是一种创建对象的方式。

服务是管理应用程序特定方面的关注点的类。例如,如果您的应用程序在People 对象上运行,您可能有某种PersonService 来管理创建、编辑、删除等所有关注点。其他服务可以使用多个服务来完成涉及的目标您的应用程序的多个域区域。例如,如果Person 可以添加到Company,则PersonServiceCompanyService 可以一起执行必要的操作。通常会有另一个服务,如YourAppService 来协调这两个服务。当你这样做时,它被称为The Facade Pattern

实用程序类是一个包含对您的应用程序通用的操作的类。例如,假设您需要在整个应用程序中使用一些正则表达式。你可以有一个TextUtil,它可以在任何地方操作字符串等等。在 Java 项目中,我通常创建一个 TestUtil 类,该类具有创建将在单元测试中使用的对象的方法(测试工具本身也经过测试)。您可以将此用例视为工厂模式的实现。

有些人认为,如果您在应用程序中使用了实用程序类,那就是糟糕设计的征兆。

【讨论】:

  • 我还了解到,Util 类/方法的定义是它们总是获得执行逻辑所需的一切。换句话说,Util 类不应该获取外部依赖项——所有内容都应该作为方法参数给出。否则,它是一项服务。
猜你喜欢
  • 1970-01-01
  • 2023-03-08
  • 2012-03-23
  • 2023-03-12
  • 2019-05-17
  • 1970-01-01
  • 2012-06-02
  • 1970-01-01
  • 2023-03-10
相关资源
最近更新 更多