JAVA设计模式--工厂方法模式
来源:互联网 发布:linux培训 编辑:程序博客网 时间:2024/06/14 04:25
工厂方法模式:
很多人都会与抽象工厂模式混淆在一起,工厂方法主要想表达,父类的方法或方法中调用了其他对象的方法时,有部分父类无法确定,但又想让父类完成大多开发工作,使得子类们可以最大限度的复用,又能动态的改变实现利于扩展性。
定义工厂方法类
public abstract Class Cat implements ICat(){
//抓老鼠行为
public void catchMouse(String catName){
//步骤一
system.out.println(){
catName+"抓老鼠之前,做一些准备工作";
};
//步骤二
IMouse mouse = createMouseFactory();
mouse.kill();//老鼠个儿屁了
//步骤三
system.out.println(){
catName+"抓完老鼠,再做一些扫尾工作";
};
}
//抽象方法
public abstract IMouse createMouseFactory();
}
这时,只有个父类,还是个半成品,屁事儿干不了。但它实际上却已经实现了大部分代码工作。子类们或着是使用者要“构造一个猫对象”就很简单了。继续看一下:
//我们创建一只“TOM”猫
public Class TomCat extends Cat(){
//抓老鼠行为
public IMouse createMouseFactory(){
return new JettyMouse();//返回一个“杰瑞”老鼠
}
}
调用者,想让TOM抓老鼠,那么就这么简单:
public static void main(String args[]){
ICat cat = new TomCat();
cat.catchMouse();
}
完成了,下次又需要抓一只叫“大白的老鼠”,那么和上面一样,只需要覆盖抽象方法即可。如果步骤一与步骤三的工作量很大,你就知道这是多么爽的一件事了。因为你完全没写,它就实现了,而且还能动态的指挥猫咪抓哪种老鼠,这里不提模式之间的组合,否则代码会很多,不易学习这种模式。代码语法可能有错误,全手敲的。见谅~
这就是工厂方法模式的思想,实现的方式很多,就是让父类完成大量工作,把稳定的代码写到父类中,变化的部分延迟到子类中确定!
很多人都会与抽象工厂模式混淆在一起,工厂方法主要想表达,父类的方法或方法中调用了其他对象的方法时,有部分父类无法确定,但又想让父类完成大多开发工作,使得子类们可以最大限度的复用,又能动态的改变实现利于扩展性。
定义工厂方法类
public abstract Class Cat implements ICat(){
//抓老鼠行为
public void catchMouse(String catName){
//步骤一
system.out.println(){
catName+"抓老鼠之前,做一些准备工作";
};
//步骤二
IMouse mouse = createMouseFactory();
mouse.kill();//老鼠个儿屁了
//步骤三
system.out.println(){
catName+"抓完老鼠,再做一些扫尾工作";
};
}
//抽象方法
public abstract IMouse createMouseFactory();
}
这时,只有个父类,还是个半成品,屁事儿干不了。但它实际上却已经实现了大部分代码工作。子类们或着是使用者要“构造一个猫对象”就很简单了。继续看一下:
//我们创建一只“TOM”猫
public Class TomCat extends Cat(){
//抓老鼠行为
public IMouse createMouseFactory(){
return new JettyMouse();//返回一个“杰瑞”老鼠
}
}
调用者,想让TOM抓老鼠,那么就这么简单:
public static void main(String args[]){
ICat cat = new TomCat();
cat.catchMouse();
}
完成了,下次又需要抓一只叫“大白的老鼠”,那么和上面一样,只需要覆盖抽象方法即可。如果步骤一与步骤三的工作量很大,你就知道这是多么爽的一件事了。因为你完全没写,它就实现了,而且还能动态的指挥猫咪抓哪种老鼠,这里不提模式之间的组合,否则代码会很多,不易学习这种模式。代码语法可能有错误,全手敲的。见谅~
这就是工厂方法模式的思想,实现的方式很多,就是让父类完成大量工作,把稳定的代码写到父类中,变化的部分延迟到子类中确定!
- java设计模式--工厂方法设计模式
- Java工厂方法模式设计
- Java工厂方法模式设计
- java工厂方法设计模式
- java设计模式-工厂方法
- JAVA-工厂方法设计模式
- 【java】工厂方法设计模式
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- java设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- Java设计模式--工厂模式(简单工厂+工厂方法)
- Java设计模式-工厂模式(简单工厂+工厂方法)
- java 生成缩略图工具包
- 黑马程序员——WPF学习第一天!!
- java建立socket,返回浏览器的请求
- MySQL如果选择正确的存储引擎
- 通过NIO实现Memcached multi get
- JAVA设计模式--工厂方法模式
- JAVA设计模式--简单工厂
- 几种常用的Java数据源解决方案
- 黑马程序员--WPF学习第二天!
- 程序员笔记软件cherrytree推荐
- 关于Eclipse
- mvc 优缺点
- XPE相关的资料汇总
- Java读取XML配置文件详细总结(dom4j方式)