设计模式之策略模式

时间:2022-12-17 07:15:14


课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。

腾讯课堂连接地址https://ke.qq.com/course/478827?taid=4373109931462251&tuin=ba64518

腾讯课堂连接地址https://ke.qq.com/course/484107?tuin=ba64518

介绍主要的k8s资源的使用配置和命令。包括configmap,pod,service,replicaset,namespace,deployment,daemonset,ingress,pv,pvc,sc,role,rolebinding,clusterrole,clusterrolebinding,secret,serviceaccount,statefulset,job,cronjob,podDisruptionbudget,podSecurityPolicy,networkPolicy,resourceQuota,limitrange,endpoint,event,conponentstatus,node,apiservice,controllerRevision等。

详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件

————————————————------------------------------------------------------------------------------------------------------------------

1类图

设计模式之策略模式

2java示例


public class Test {
public static void main(String[] args) {
Strategy s1=new DiscountStrategy();
Strategy s2=new SubtractStrategy();
Context context=new Context();
context.setStrategy(s1);
System.out.println(context.getFavorablePrice(100));
context.setStrategy(s2);
System.out.println(context.getFavorablePrice(100));
}
}
public class Context {
private Strategy strategy;

public void setStrategy(Strategy strategy) {
this.strategy = strategy;
}

public double getFavorablePrice(double price) {
return this.strategy.price(price);
}
}
public interface Strategy {
double price(double price);
}
public class DiscountStrategy implements Strategy {

@Override
public double price(double price) {
return price*0.8;
}

}
public class SubtractStrategy implements Strategy {

@Override
public double price(double price) {
return price-30>0?(price-30):30;
}

}