收集各类JAVA实现的设计模式代码

孤尽JavaSea 2010-12-22 06:45:22
多多益善,我也会尽可能多上传自己写的设计模式代码实现,希望大家支持。
...全文
110 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mopishv0 2011-01-11
  • 打赏
  • 举报
回复
http://coolshell.cn/articles/3320.html
JDK里的设计模式
孤尽JavaSea 2011-01-11
  • 打赏
  • 举报
回复
package pattern;

class Focus{ //焦距
int focus;
public void setFocus(int focus){
this.focus = focus;
System.out.println("焦距被置为"+focus);
}
}

class Aperture{ //光圈
String aperture;
public void setAperture(String aperture){
this.aperture = aperture;
System.out.println("光圈被置为"+aperture);
}
}
class Shutter{ //快门
double shutter;
public void setShutter(double shutter){
this.shutter = shutter;
System.out.println("快门时间为"+shutter);
}
}

public class CameraFacade { //自动档
Focus x = new Focus();
Aperture y = new Aperture();
Shutter z = new Shutter();
public void powerOn(){
System.out.println("相机开机...");
}
public void takePhoto(){ //系统选择一个适中参数给予固定
x.setFocus(50);
y.setAperture("F3");
z.setShutter(1.0/1000);
System.out.println("拍摄成功!");
}
}
class Demo{
public static void main(String[] args) { //对于使用者来说只做两件事情,开机和拍照
CameraFacade camera = new CameraFacade(); //只有一个Facade对象
camera.powerOn();
camera.takePhoto();
}
}
孤尽JavaSea 2011-01-11
  • 打赏
  • 举报
回复
class Focus{
int focus;
public void setFocus(int focus){
this.focus = focus;
System.out.println("焦距被置为"+focus);
}
}

class Aperture{
String aperture;
public void setAperture(String aperture){
this.aperture = aperture;
System.out.println("光圈被置为"+aperture);
}
}
class Shutter{
double shutter;
public void setShutter(double shutter){
this.shutter = shutter;
System.out.println("快门时间为"+shutter);
}
}

public class CameraFacade {
Focus x = new Focus();
Aperture y = new Aperture();
Shutter z = new Shutter();
public void powerOn(){
System.out.println("相机开机...");
}
public void takePhoto(){
x.setFocus(50);
y.setAperture("F3");
z.setShutter(1.0/1000);
System.out.println("拍摄成功!");
}
}
class Demo{
public static void main(String[] args) {
CameraFacade camera = new CameraFacade();
camera.powerOn();
camera.takePhoto();
}
}
孤尽JavaSea 2010-12-22
  • 打赏
  • 举报
回复
public abstract class Tank{
public abstract shot();
public abstract run();
}

public class T50 extends tank{} //各种型号的坦克去继承同一个抽象类

pbulic class T90 extends Tank{}

功能对任何型号都可以做扩展,把功能定义成接口,然后通过接口实现(implements)来扩展功能。

public class T50A extends T50 implements IA{} //具备夜视功能
public class T50B extends T50 implements IB{} //具备两栖功能
public class T50AB extends T50 implements IA,IB{} //具备夜视和两栖功能
public class T50AB extends T50 implements IA,IB{} //具备夜视、两栖、卫星定位功能

  • 打赏
  • 举报
回复
你最好写些现实中的代码吧!
程序的陈 2010-12-22
  • 打赏
  • 举报
回复
一般实际项目中的代码都比较大,比较混乱。发上来的话,不可能完整,难以阅读。学习设计模式还是要自己在做项目中体会
龙四 2010-12-22
  • 打赏
  • 举报
回复
实际中的代码并不能工工整整的按照某个设计模式的定义去做
uastation 2010-12-22
  • 打赏
  • 举报
回复
帮顶,到时候回来收代码。。哈哈。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧