package moshi;
public class Factory {
public static void main(String[] args) {
/*
* 当调用者调用被调用者时之间关系的耦合性非常紧密依赖关系也非常紧 new water().dringking(); 当调用的工具类发生了变化
* (类不存在了)调用者就会受到影响 new posion()sc.dringking();
*/
// 调用者只需传达想喝水的意图即可
drink s = factoryclass.getwork("d");
// 确定是水之后如果水不是空的 就喝反之
if (s != null) {
s.dringking();
}
}
}
// 工厂类加工 判断是不是水是水给调用者 不是则。。
class factoryclass {
public static drink getwork(String params) {
if ("school".equals(params)) {
return new water();
} else if ("htc".equals(params)) {
return new poison();
} else {
return null;
}
}
}
interface drink {
public void dringking();
}
class water implements drink {
public void dringking() {
System.out.println("喝水");
}
}
// poison 毒药
class poison implements drink {
public void dringking() {
System.out.println("毒药不能喝");
}
}
JAVA之工厂模式
最新推荐文章于 2024-08-12 15:45:48 发布