【问题标题】:Schema/Code for respecting different schedules尊重不同时间表的模式/代码
【发布时间】:2011-09-08 02:53:02
【问题描述】:

我们接受潜在客户提供的潜在客户。我们只允许某些提供商在某些日子/时间向我们发布潜在客户。目前,我们有 3 个时间表,但将来我们可能会增加 1 个或 n 个:

  1. 周日上午 8 点 - 周五下午 3 点 - 两者之间的所有时间。
  2. 周一至周五上午 8 点至下午 5 点。
  3. 24 小时,每天。

此外,我们希望能够一次性完成某些时间 - 因此,我们会告诉一些主要提供商,“我知道您通常在上午 8 点到下午 5 点发布,但星期一是假期,所以不要发帖。”

问题在于,一些潜在客户提供商没有设置来处理时间表(或者如果他们想向我们出售更多潜在客户,就忽略它)。所以,我现在必须在我们接收潜在客户的时候将此检查添加到我们的系统中,并首先检查是否允许潜在客户提供者(他们在发送的 XML 中标识自己)在这个特定时间发布潜在客户.

老实说,我不知道从哪里开始。有没有人这样做过?你是如何处理的,你的方法有什么好/坏处?

【问题讨论】:

    标签: c# sql-server schema scheduling


    【解决方案1】:

    这看起来有点复杂的基于规则的逻辑,所以我认为最好的方法是创建一组代表所涉及实体的对象。澄清一下,我的意思是为对象建模规则,应用最合适的设计模式。

    例如,我现在想不通,如果您说客户有一组“规则”何时发布,我会通过在客户对象上使用一个方法来对此进行建模,例如 CanPost(DateTime postTime) .该方法将根据规则集合检查 postTime,什么可以像您想要的那样复杂。起初,它可以简单地是这些最初的“后规则”和您后来在规则中作为“例外”提到的那些的两个集合;但这可以真正建模为无穷大。查看 Martin Fowlers Analysis Patterns 以获得对许多复杂领域模型的重要参考,特别是如果您可以有 Fowler 的 Accounting Patterns e-book,请查看 PostingRule 部分

    【讨论】:

    • 另外,看看规范模式,它在尝试实现复杂规则时会很有用
    猜你喜欢
    • 1970-01-01
    • 2022-10-30
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    相关资源
    最近更新 更多