/**
* 设计模式(一):简单工厂实例
*
* @author 修。
* @version 1.0.0
*/
package day66;
/**
* Output接口,定义规范
*/
interface Output{
void out();
void getData(String data);
}
/**
* 输出设备的生产工厂
*/
class OutputFactory{
public static Output getOutput(){
return new Printer();
}
}
/**
* 当Printer换成BetterPrinter后,只需让BetterPrinter实现Output接口,
* 再把OutputFactory中的getOutput方法的返回值修改为new BetterPrinter()即可
*/
class Printer implements Output{
@Override
public void out() {
System.out.println("Printer输出了");
}
@Override
public void getData(String data) {
System.out.println(data);
}
}
public class Day661 {
private Output out;
public Day661(Output out){
this.out=out;
}
public void myOut(){
out.out();
}
public void myGetData(String data){
out.getData(data);
}
public static void main(String[] args) {
Day661 day = new Day661(OutputFactory.getOutput());
day.myOut();
day.myGetData("测试");
}
}
设计模式(一):简单工厂实例
梦还远,路还长!
推荐阅读
- Python中英文对齐终极解决方案
- Redis消息发布订阅的稳定性验证结论
- 用本地自定义域名访问远程服务器,并支持websocket和cookie
- 关于Maven找不到依赖或者下载慢的问题总结
- Jenkins 部署的问题
- 解决SpringBatch/Cloud Task的SafeMode下的报错问题
- 解决 Mybatis报错org.apache.ibatis.ognl.NoSuchPropertyException: XXXCriteria$Criterion.noValue
- 处理 Could not find a 'KafkaClient' entry in the JAAS configuration. System property 'java.security.auth.login.config' is
- 解决nginx配置不当导致接口请求数据被截断的问题
- 获取最后插入的id另外方法