我们接受来自主要提供商的线索。我们只允许某些提供商在特定日期/时间内向我们发布潜在客户。目前,我们有3个时间表,但我们将来可能会增加1个或更多个时间表:
此外,我们希望能够一次性关闭一些时间 - 所以,我们会告诉一些主要提供商,“我知道你通常会在上午8点到下午5点MF发布,但周一是假期,所以不要发帖。“
问题在于某些潜在客户未设置处理时间表(或者如果他们想要向我们出售更多潜在客户,则忽略它)。因此,我现在必须在我们接收潜在客户的时间点将此检查添加到我们的系统中,并首先检查是否允许该主要提供者(他们在发送的XML中标识自己)在此特定时间发布潜在客户
老实说,我不知道从哪里开始。有没有人这样做过?你是如何处理它的,你的方法有什么好/坏?
答案 0 :(得分:1)
这看起来有些复杂的基于规则的逻辑,因此我认为最好的方法是创建一组表示所涉及实体的对象。为了澄清,我的意思是将规则建模到对象,应用最合适的设计模式。
例如,现在我不知道如果你说客户有一套“规则”何时发布,我会通过在客户对象上设置一个方法来建模,比如CanPost(DateTime postTime) 。该方法将根据规则集合检查postTime,可能会像您想要的那样复杂。首先,它可以简单地是这些第一个“后规则”的两个集合,以及你后面提到的规则中的“例外”;但这可以真正建模为无穷大。查看Martin Fowlers分析模式,以获得对许多复杂领域模型的很好的参考,特别是如果你可以有福勒的Accounting Patterns e-book,请查看PostingRule部分