使用一个远程对象和多个目标

发布于 2024-10-15 17:12:18 字数 176 浏览 2 评论 0原文

在我的 Flex 应用程序中,我使用一个远程对象和多个目标。这是一个坏主意吗?除了一两个边缘情况之外,它似乎工作得很好:

  1. 这是糟糕的设计,但我们在两个不同的目的地上使用相同的方法名称,并且在同时调用它们时它们似乎会发生冲突。
  2. 记录错误显示分配给一个目标的方法与另一个目标相关联。

In my Flex app, I use one remote object and multiple destinations. Is that a bad idea? It seems to be working just fine except for the one or two fringe cases:

  1. It's bad design, but we use the same method name on two different destinations and they seem to conflict when they're called at the same time.
  2. Logging errors show a method assigned to one destination as being associated with another.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小帐篷 2024-10-22 17:12:18

正如你所猜测的。由于多种原因,这是一种糟糕的设计:

  • 令人困惑 - 您可能理解一个对象/两个目的地的约定,但如果其他人尝试贡献或维护您的工作,这将带来问题。
  • 日志记录/调试问题 - 如果以后出现问题,让记录器报告不正确的信息可能会使错误跟踪严重复杂化
  • 不必要的 - 我不熟悉您的代码,但在我的代码中使用远程对象的经验使用几个不同的对象很简单

我的建议是将两个远程对象包装到一个父对象中。您可以传递这个单个对象/类,并且仍然可以访问两个目的地。

或者

如果您预计添加多个功能,请创建一个带有处理远程处理逻辑的方法的单例类。这将使远程访问在整个应用程序中保持一致,并将目标逻辑保留在一处。

As you've guessed. This is bad design for a multitude of reasons:

  • Confusing - you may understand your convention of one object/two destinations but this will present problems should anyone else attempt to contribute or maintain your work.
  • Logging/Debugging Issues - Should a problem arise down the road, having the logger reporting incorrect information could seriously overcomplicate bug tracking
  • Unnecessary - I am not familar with your code but in my experience with Remote Objects it is trivial to use a few different ones

My suggestion would be to wrap two remote objects into a single parent object. You can pass this single object/class around and still have access to both destinations.

OR

If you're anticipating adding multiple features, create a singleton class with methods for handling remoting logic. This will keep Remoting access consistent across your application and leaves the destination logic contained in one place.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文