2

我环顾四周,没有发现任何特定于我的问题的东西,但这部分是因为我不确定如何表达它。

我管理着大约 20 个不同的 C# .NET 应用程序,它们都做着相对相似的事情。

我正在努力将通用代码整合到数据、业务逻辑和演示文稿中。

我的问题与业务逻辑层有关。

我收集到一个业务/域对象是一个持有状态的对象,有时可能会执行相关的操作(如果你采用这种方法)。

但是你会怎么称呼一个只通过例程工作的对象呢?

例如:

  1. 在表示层中会触发一个按钮事件。
  2. 表示层指向这个类并调用“RunJob()”方法。
  3. RunJob() 完成它需要做的所有工作,然后完成。例如,它可能会读取一个表格并将其输出为 CSV(其中很多应用程序都是数据推送器)。它可能使用也可能不使用内部字段/属性。这些属性可用于在界面中显示数据或创建输出。

有这个名字吗,还是在实践中它只是一个糟糕的模式/糟糕的 OO?我不认为这有资格作为业务对象或助手。我已经看到其他一些暗示它可能是“服务”对象的主题。

谢谢!

4

2 回答 2

0

暂时称它为 WorkerThread 并查看鲍勃叔叔关于命名的文章“ http://www.objectmentor.com/resources/articles/Naming.pdf。然后将名称更改为合理的名称。

你的课不一定是坏课。大多数实体通常没有太多的行为,otoh 一些辅助类没有太多的状态。

于 2012-11-28T23:34:52.017 回答
0

对象的名称具体取决于它们所做的工作。TableImporter 和 CsvExporter 是您描述的任务的好名称。这些方法也应该适当命名。您可能希望抽象一个接口Runner并拥有一个通用RunJob方法来解耦您的表示层和模型层,但是如果您使用控制器来代替它可能会更清晰和解耦。

于 2012-11-28T23:51:36.520 回答