`
linbzh
  • 浏览: 71331 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ChainOfResponsiblity责任链模式

阅读更多

ChainOfResponsiblity责任链模式。
      一系列对象之间的消息传递形成了线性的或循环的传递结构,例如A可以传给B,B可以传给C,C可以传给D……当条件不满足传递时,就停止传递。
      例如,客户端对象发出一个请求给服务端处理,而客户端只知道服务端有n个服务对象可以对这个请求作出响应,但是客户端并不清楚哪个服务端对象是最合适处理这个请求的。最原始的处理方式,就是在客户端程序进行n个if else的语句判断。当服务端在添加一个服务处理对象时,便在客户端再添加一个if else,就这样如此循环不断的进行下去。
      可见这样的代码的质量相当低劣,是如何的不高明,难以维护扩展。利用责任链的作法是,在客户端创建出那些可以对请求作出响应的服务端的对象实例,然后设置服务对象之间的传递关系,接着把请求消息传递给第一个服务对象,交给服务对象之间进行内部判断究竟哪个是适合作出响应的。其中服务对象之间的传递关系的实现,类似于单向链表的实现。

public abstract class Service{
  private Service nextService;
  public Service() {/*...*/}
  public abstract void response(Request request);
  public Service getNextService() {
    return nextService;
  }
  public void setNextService(Service service) {
    nextService = service;
  };
}
class FService extends Service {
  private int flag = 1;
  public FService() {/*...*/}
  public void response(Request request) {
    int flag = request.getFlag();
    if (flag == this.flag) {
      System.out.println("响应");
    } else {
      getNextService().response(request);
    }
  }
}

class SService extends Service {
  private int flag = 2;
  public SService() {/*...*/}
  public void response(Request request) {
    int flag = request.getFlag();
    if (flag == this.flag) {
      System.out.println("响应");
    } else {
      getNextService().response(request);
    }
  }
}
public class Client{
  private static Request request = null;
  private static FService fs = null;
  private static SService ss = null;
  public static void main(String[] args) {
    request = new Request(2);
    fs = new FSservice();
    ss = new SService();
    fs.setNextService(ss);
    fs.response(request );
  }
}
class Request{
  prviate int flag;
  public Request(int flag){this.flag = flag;}
  public int getFlag(){return this.flag;}
}

       其实,以servlet中的filter作为责任链的经典例子,是最好不过的了。过滤器的实现跟上面的例子有所不同,首先每个过滤器向一个过滤器链的管理器FilterChain注册,在每个过滤器Filter的doFilter(ServletRequest request,ServletResponse response,FilterChain chain)方法里面调用FilterChain的chain.doFilter(request,response);方法,由FilterChain实现调用下一个过滤器。实现的代码大概如下:

public interface Filter{
  public void init(FilterConfig config) throws ServletException;
  public void doFilter(ServletRequest srequest,ServletResponse   sresponse,FilterChain chain)throws       IOException,ServletException;
  public void destroy();
}
public FilterChain{
  private List list = new Vector();
  private int currentFilter = 0;
  private int totalFilter = 0;
  public void addFilter(Filter filter){
    list.add(filter);
    totalFilter++;
  }
  public void doFilter(ServletRequest request,ServletResponse response){
    /*......*/
    if(currentFilter==totalFilter)
       return;
    ((Filter)list.get(currentFilter++)).doFilter();
    /*......*/
  }
}
public class MyFilter implements Filter {
 public void init(FilterConfig config) throws ServletException {/*...*/}
 public void destroy(){/*...*/}
 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
 throws IOException,ServletException {/*...*/chain.doFilter();}
}

 

分享到:
评论

相关推荐

    OOD面试应对方法 SOLID原则.mp4

    S - Single-responsiblity principle 单一责任原则 O - Open-closed principle 开发封闭原则 L - Liskov substitution principle 里氏替换原则 I - Interface segregation principle 接口分离原则 D - Dependency ...

    软件结构设计-分层系统风格讲义(ppt-18页).ppt

    情况2:从层1开始的自底向上的操作链过程。 情况3:如果层N-1能够满足要求,顶层的请求仅到达层N-1就足够了,不需要再向下层传递请求。 分层系统风格是软件结构设计中的一种常见的体系结构风格,它具有许多优点,...

    复数练习

    This sample represents a new project that is NOT currently adhering to Single Responsiblity Principle 本练习的重点: •SOLID表示完整的代码•遵循“单一职责原则”的类具有单一职责-更具体地说:单个原因...

    银行系统需求规格经典说明书.docx

    每个子系统都有其特定的功能和 responsiblity,旨在满足银行业务的需求。 储蓄业务子系统主要提供人民币和外币的储蓄业务,包括活期储蓄和整存整取定期储蓄两种。贷款业务子系统主要用于实现客户贷款方面的需求,...

    JSP学生学籍管理系统设计与实现(源代码+论文+开题报告+外文翻译+答辩PPT).zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    省市区数据,完成三级联动,选择地区

    省市区数据,完成三级联动,选择地区

    机械原理课程设计网球自动捡球机.doc

    机械原理课程设计网球自动捡球机.doc

    2024秋招华为笔试题大全-仅供参考具体需要根据实际修改

    2024秋招华为笔试题大全-仅供参考具体需要根据实际修改

    借助于Ascend310 AI处理器完成深度学习算法部署任务,

    应用背景为变电站电力巡检,基于YOLO v4算法模型对常见电力巡检目标进行检测,并充分利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务,并对系统性能做出一定的优化。.zip深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。

    基于深度学习的物体识别与抓取方法,六自由度机械臂,python编写程序.zip

    深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。

    电子设计论文文档资料液面检测器电子设计论文文档资料液面检测器

    电子设计论文文档资料液面检测器电子设计论文文档资料液面检测器

    基于深度学习的多特征电力负荷预测.zip

    深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。

    CenterNet 部署版本,便于移植不同平台(onnx、tensorRT、rknn、Horizon)

    CenterNet 是一种用于目标检测的神经网络架构,它的核心思想是利用目标的中心点作为检测的关键信息。这种方法与传统的目标检测方法(如基于边界框的方法)有所不同,因为它不直接预测目标的边界框,而是预测目标的中心点坐标和目标的宽度与高度。 CenterNet 的主要特点包括: 1. **中心点预测**:网络输出目标的中心点坐标,以及目标的宽度和高度。 2. **热图(Heatmap)**:网络生成一个热图,其中每个像素点的值表示该点成为目标中心点的概率。 3. **回归任务**:除了中心点坐标,网络还需要预测目标的宽度和高度,这通常通过预测中心点周围的偏移量来实现。 4. **多任务学习**:CenterNet 通常会同时预测目标的类别、中心点坐标、宽度、高度以及目标的旋转角度(在某些变体中)。 5. **端到端训练**:CenterNet 可以直接在最终的目标检测任务上进行端到端的训练,无需复杂的区域提议网络(Region Proposal Network, RPN)或锚点(anchor)机制。 6. **高效性**:由于省略了传统目标检测中的一些步骤,CenterNe

    c#代码介绍23种设计模式-03工厂模式(附代码)

    1. 工厂方法模式之所以可以解决简单工厂的模式: 是因为它的实现把具体产品的创建推迟到子类中,此时工厂类不再负责所有产品的创建,而只是给出具体工厂必须实现的接口, 这样工厂方法模式就可以允许系统不修改工厂类逻辑的情况下来添加新产品,这样也就克服了简单工厂模式中缺点 2. 使用工厂方法实现的系统,如果系统需要添加新产品时: 我们可以利用多态性来完成系统的扩展,对于抽象工厂类和具体工厂中的代码都不需要做任何改动。 例如,我们我们还想点一个“肉末茄子”,此时我们只需要定义一个肉末茄子具体工厂类和肉末茄子类就可以。而不用像简单工厂模式中那样去修改工厂类中的实现 3. 从UML图可以看出,在工厂方法模式中,工厂类与具体产品类具有平行的等级结构,它们之间是一一对应的。针对UML图的解释如下: Creator类:充当抽象工厂角色,任何具体工厂都必须继承该抽象类 TomatoScrambledEggsFactory和ShreddedPorkWithPotatoesFactory类:充当具体工厂角色,用来创建具体产品 Food类:充当抽象产品角色,具体产品的抽象类。任何具体产品都应该继承该类 Tom

    基于深度学习对法国租界地黑白照片上色模型.zip

    深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。

    集团公司战略管理制度.doc

    集团公司战略管理制度.doc

    JSP学生网上选课系统设计(源代码+论文+答辩PPT).zip

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、资源5来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、资源5来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。、 5资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

    智能翻译官cpc-bd07-20752777288491826.exe

    ‌智能翻译官获得了广泛的好评‌,这主要得益于其高效、准确以及用户友好的特性。以下是一些具体的评价细节: ‌用户界面和操作体验‌:智能翻译官提供了一个直观且易于使用的界面,使得用户能够轻松地进行翻译操作。无论是文字输入、拍照翻译还是语音输入,智能翻译官都能提供流畅的使用体验,大大提高了用户的工作和沟通效率‌12。 ‌翻译准确性和速度‌:智能翻译官在翻译准确性和速度方面表现出色。它支持多种语言的翻译,包括但不限于英语、日语、韩语等,并且能够在短时间内完成翻译,确保了沟通的实时性和有效性‌23。 ‌功能多样性‌:除了基本的翻译功能外,智能翻译官还提供了同声传译、录音文件保存、实景AR翻译等多种功能。这些功能使得智能翻译官成为开会、旅行等多种场景下的理想选择‌2。 ‌用户反馈‌:从用户反馈来看,智能翻译官不仅受到了普通用户的欢迎,也得到了专业人士的认可。无论是学生、商务人士还是旅游者,都对其表示满意,认为它极大地便利了他们的学习和生活‌12。 综上所述,智能翻译官以其高效、准确、用户友好的特点,赢得了广泛的好评和推荐。无论是对于需要频繁进行语言沟通的用户,还是对于需要学习不同语言的学

    C++课程设计之变量和类型.pdf

    C++课程设计之变量和类型

    【4层】办公楼全套设计(2400平左右,含计算书,施工组织设计,横道图,平面布置图,建筑图,+结构图).zip

    【4层】办公楼全套设计(2400平左右,含计算书,施工组织设计,横道图,平面布置图,建筑图,+结构图) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。

Global site tag (gtag.js) - Google Analytics