我怎么能在这里使用OOP:我需要避免重新实例化对象

问题描述 投票:-1回答:1

我想避免不断重新实例化对象。这里是什么,我有一个例子:

它处理的类

  • 错误。
  • 日志记录。
  • 命令
  • 通过电子邮件发送
  • 数据库的东西。
  • 更新价格
  • 和更多...

现在在班:“订单,电子邮件,数据库,价格更新”我需要有订单ID和客户ID从类订单实例化的记录器和错误处理程序类。

现在,我可以保持在每类创建的订单和记录器和错误处理程序的新对象的新对象,但似乎没有必要,或者是正常的吗?

我差点忘了提,这将是一个服务器上运行的自动化软件。所以这是一个循环内。获取订单,处理它,电子邮件等。

我是一个自学成才的“编码器”,请原谅我,如果我错过了明目张胆的东西。我是从功能上加强对面向对象的编程风格。

祝一切顺利!

java oop
1个回答
0
投票

所以这是一个循环内。获取订单,处理它,电子邮件等。

如果这是真的,你的记录和错误处理程序需要知道的订单ID和客户ID,那么你可以提供这些类允许您设置ID mutator方法。然后你只需要他们每个人,你会在循环中更新的一个实例:

Logger logger = /*...create or acquire the logger...*/;
ErrorHandler errHandler = /*...create or acquire the error handler...*/;
for (Order order : orders) {
    logger.setOrderInfo(order.id, order.customerId);
    errHandler.setOrderInfo(order.id, order.customerId);

    // ...handle the order...
}

你甚至可以通过他们的Order,虽然这更加紧密地比上面并捆绑他们。

如果你这样做,使他们能够记录/处理错误时,包括有关订单和客户信息,你可能会考虑推广这些信息,以便他们不知道有关订单和客户ID本身,他们只知道一条信息他们需要在日志/错误报告包含。

© www.soinside.com 2019 - 2024. All rights reserved.