当前位置: 首页 > 知识库问答 >
问题:

如何将公共代码与实现特定代码分开?

赵鸿畴
2023-03-14

我有这样的东西:

switch(type){
    case "CAR":
       return new Car();
    case "BIKE":
       return new Bike();
}

现在,有一个需求,添加一个公共API,用于检查输入类型是否有效,只有当validateFlag为true时。

你能在这里建议一些设计吗?最适合搭配什么?

我在想这样的事情:

if(flag== true)
  return new Validator();
switch(type){
    case "CAR":
       return new Car();
    case "BIKE":
       return new Bike();
}```

共有1个答案

鄂曦之
2023-03-14

您可能希望在这里使用继承。看看下面的示例代码。

class Vehicle {
    protected boolean mIsValid;
    
    public Vehicle() {}
    
    public boolean isValid() {
        return mIsValid;
    }
}

class Car extends Vehicle {
    public Car() {
        super();
        mIsValid = true;
    }
}

class Bike extends Vehicle {
    public Bike() {
        super();
        mIsValid = false;
    }
}
 类似资料:
  • 问题内容: 当我必须连接到数据库时,这是我经常遇到的一个问题。如何将SQL与普通的Java代码分开?我通常为数据库连接使用一个单独的类,但是,当您在每个数据库中有多个数据库和多个表时,总是很难做到这一点100% 例如,如果要将所有Java SQL放在名为DBConnector.java的类中,我们如何通用地为不同的插入,删除,数据检索等进行编码?我认为理想的情况是,所有SQL语句都应该在同一类中,

  • 我有一个wordpress插件,可以上传用户头像。我正在尝试使用一段显示缩略图的代码,并将其放在一个短代码中,这样我就可以将缩略图放在网站的任何位置。 我对php比较陌生,我知道如何为wordpress启动一个短代码,但我不知道如何构造短代码来承载php。有谁能给我提个建议吗? php下面的代码是插件文件的原文: 我想放在短代码中的代码如下,基本上它显示了缩略图。我试图用这个在functions.

  • 实现Run 实现Flock 前面提到进程的文件锁,实际上Run也用到了,可以试想下以下的场景。 用户A执行run pt-summary,由于本地已经缓存了所以会直接运行本地的脚本。同时用户B执行run -u pt-summary,加上-u或者--update参数后Run会从远端下载并运行最新的脚本。如果不加文件锁的话,用户A的行为就不可预测了,而文件锁很好得解决了这个问题。 具体使用方法如下,我们

  • #coding=utf-8 ''''' ''' from math import log import operator def createDataSet(): dataSet =[[1,1,'yes'], [1,1,'yes'], [1,0,'no'], [0,1

  • 本文向大家介绍Laravel 在views中加载公共页面的实现代码,包括了Laravel 在views中加载公共页面的实现代码的使用技巧和注意事项,需要的朋友参考一下 1:我们使用了Blade模板,并创建一个layout作为通用的模板。将子页面作为yield输出: 2: 在子页面使用 以上这篇Laravel 在views中加载公共页面的实现代码就是小编分享给大家的全部内容了,希望能给大家一个参考,

  • from numpy import * import time import matplotlib.pyplot as plt # calulate kernel value def calcKernelValue(matrix_x, sample_x, kernelOption): kernelType = kernelOption[0] numSa