代码之家  ›  专栏  ›  技术社区  ›  Michel

设计问题:针对多个客户机的“通用应用程序/流程”,结果将充满“但是”

  •  1
  • Michel  · 技术社区  · 14 年前

    我要为我的客户创建一个应用程序。 他(我的客户)的多个客户机将登录到该应用程序并执行相同的操作。 因此,在这种观点下,我们有一个“通用应用”:只写一次,适合每个客户的需要。

    但是,在编写第一行代码之前,我们当然有第一个例外:当客户机A执行操作A时,您必须执行与客户机B、C和D相同的操作,但是……

    当然,我们可以等待更多这样的修改,首先想到的是“一劳永逸”。

    没问题,不能预见一切,而且源代码是灵活的。

    但是,我预见到我的源代码中包含了各种if语句:

    if (client == "a")
    {
      SetEndDate(+1);
    }
    
    else if (client == "b")
    {
      SetEndDate(+10);
    }
    else //no enddate modification needed for other clients
    
    if (client == "d" || client == "E" )
    {
      DoExtraCheck1();
    }
    else if (client = "b")
    {
      if ( DoExtraCheck1())
       {
           DoExtraCheck2();
       }
    }
    else //no checking needed for other clients
    

    我开始害怕了!

    什么样的解决方案才是一个很好的、优雅的简化方案?


    下一个要解决的问题当然是,如果用户界面在客户机之间也发生了变化,但这是针对第2个问题的:)

    1 回复  |  直到 14 年前